0

我想获取选定的 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。

4

1 回答 1

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 代码都不会添加到您的页面中。

于 2013-03-14T11:33:52.333 回答