gpt4 book ai didi

jquery - ATK4 - 根据相关下拉列表中的更改更新表单字段值

转载 作者:行者123 更新时间:2023-12-01 04:52:01 25 4
gpt4 key购买 nike

每当相关下拉列表发生变化时,我都会尝试使用数据库中的特定值填写表单字段,但我不明白为什么:

  • 我可以成功使用下拉列表中的 js()->val() 来设置我尝试填充的字段的 val() ($price)
  • 但是每当我在查询中或在出于故障排除目的添加的警报中使用 js()->val() 时,它都会输出附加有“.val()”或类似内容的字段名称引用字符串...

我知道这是一个菜鸟问题,但我已经用多种方式研究过这个问题并尝试了不同的方法,但我无法让它发挥作用。如果我在下面的查询中硬编码“id”的值,它确实按预期工作,我只需要能够向查询传递适当的值...

$form = $this->add('Form');
$product = $form->addField('dropdown', 'name');
$product->setModel('Product');
$price = $form->addField('line', 'price_per');
$product->js('change', $price->js()
->val($product->js()->val())
->univ()
->alert('ID is : ' . $product->js()->val()));

// $product->js('change', $price->js()->val(
// $this->api->db->dsql() //->expr(2+2)
// ->debug()
// ->table('product')
// ->field('price_per')
// ->where('id',$product->js()->val())
// ->getOne()
// ));

最佳答案

您的问题在这里:

->alert('ID is : ' . $product->js()->val()));  

您必须记住,js() 会生成一个 PHP 链,然后可以将其转换为 javascript。如果将它与字符串连接起来,那么它就会成为字符串,从而成为警报。试试这个:

->alert($product->js()->val()));  

应该可以正常工作。

您可以在 UNIV 链中添加方法并进行必要的串联。您还可以使用 js(null,' 2+4') 注入(inject)任何 JavaScript 代码,但要小心,因为它不会被转义。

AJAX

这是javascript依赖服务器端算法时的一种技术。 JavaScript 向后端发送请求。 Agile Toolkit 使用一种称为 AJAXEC(Ajax + Exec)的技术。它将向服务器发送请求,但服务器将用 javascript block 进行响应以供其执行(因此是 ->execute() 方法)

有多种方法可以使用 Agile Toolkit 包装此功能,但您可能应该首先了解基础知识:

关于jquery - ATK4 - 根据相关下拉列表中的更改更新表单字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18655623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com