Jquery ATK4-根据相关下拉列表中的更改更新表单字段值
每当相关下拉列表发生变化时,我试图用数据库中的某个值填充表单字段,我不明白为什么:Jquery ATK4-根据相关下拉列表中的更改更新表单字段值,jquery,forms,atk4,Jquery,Forms,Atk4,每当相关下拉列表发生变化时,我试图用数据库中的某个值填充表单字段,我不明白为什么: 我可以成功地使用下拉列表中的js()->val()来设置我试图填充的字段的val()($price) 但是,每当我在查询中使用js()->val()时,或者在我为排除故障而添加的警报中,它都会输出附加了“.val()”或类似内容的字段名引用字符串 我知道这是一个noob问题,但我已经从几个方面考虑了这个问题,并尝试了不同的方法,但我无法让它发挥作用。 如果我在下面的查询中为“id”硬编码一个值,它确实可以按预
- 我可以成功地使用下拉列表中的js()->val()来设置我试图填充的字段的val()($price)
- 但是,每当我在查询中使用js()->val()时,或者在我为排除故障而添加的警报中,它都会输出附加了“.val()”或类似内容的字段名引用字符串
$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')来注入任何javascript代码,但要小心,因为它不会被转义
AJAX
当javascript依赖于服务器端算法时,这是一种技术。JavaScript将请求发送到后端。敏捷工具包使用了一种称为AJAXEC(Ajax+Exec)的技术。它将向服务器发送请求,但服务器将用javascript块进行响应,以便执行(因此使用->execute()方法)
使用Agile Toolkit包装此功能有几种方法,但您可能应该首先了解基本知识: