我想获取所选的schoolFilter表单值并放在[SELECTED VALUE HERE]中。
$data = $this->Js->get('#SchoolFilter')->serializeForm(array('isForm' => true, 'inline' => true));
$this->Js->get('#SchoolSchoolId')->event(
'change', $this->Js->request(
array('action' => 'assign_school_ads/', [SELECTED VALUE HERE], array(
'update' => '#results',
'data' => $data,
'async' => true,
'dataExpression' => true,
'method' => 'POST'
)
)
);
// School Filter
$schoolFilter = $this->Form->create('School', array('id' => 'SchoolFilter');
$schoolFilter .= $this->Form->input('school_id', array('label'=>'Schools', 'empty'=>'- select -');
$schoolFilter .= $this->Form->end();
我已经看到了这个问题的变化,但没有任何明确的答案,除了忘记使用JS Helper。是否可以在JS Helper的上下文中使用?如果没有,我可以使用常规JQuery获取值,然后将其注入JS Helper。
答案 0 :(得分:0)
使用以下代码: -
$this->Js->get('#SchoolFilter');
$this->Js->event('change', $this->Js->request(array('controller'=>'put-ur-controller-ame-here','action' => 'assign_school_ads'),array('async' => true,'update' => '#results','method' => 'post','dataExpression'=>true,'data'=> $this->Js->serializeForm(array('isForm' => true,'inline' => true)))));
serialize()
函数将表单数据发送到php操作,以便我们可以看到选择了哪个选项并决定在ajax调用中更新的内容。
表单数据将在操作中的$this->data
中找到(就像提交表单后一样)。
不要忘记在正文结束标记之前的布局中添加$this->Js->writeBuffer();
。否则,所有ajax代码都不会添加到您的页面中。