Select Box onchange事件的ajax代码

时间:2014-10-18 07:12:46

标签: ajax cakephp

我选择了包含菜单(ID,名称)的框,我有另一个选择框类别(cid, cname),并且必须根据所选菜单显示类别,方法是将menuid设置为" url&#34 ;. 这是我的代码: http://jsfiddle.net/L8su2/738/

echo $this->Form->create('Subcategorynew');
echo $this->Form->input('menu_id', array('empty'=>'--Select--','label'=>'Menu','type'=>'select','options'=>$menunew, 'div' => false, 'id' => 'prodid', 'onchange' => 'test()', 'class' => 'form-control'));
echo "</br>";
echo $this->Form->input('category_id', array('type'=>'select','label'=>'Category', 'div' => false, 'id' => 'total','options'=>$catnew, 'class' => 'form-control'));
echo "</br>";

1 个答案:

答案 0 :(得分:0)

首先,您应该添加错误触发器以查看发生的情况。 AJAX基于JSON,您正在发送HTML代码。然后你必须改变数据类型。最后,为了更容易,您可以使用$ .get()和$ .post()来确保数据的传输方式。

error: console.log,
dataType : 'html',

测试应该是这样的。结果在您的开发控制台中,如Chrome或Firefox

$.post({
   url: "<?=$this->webroot?>admin/subcategorynew/add/"+prodid,
   data: data,
   error: console.log,
   success: console.log,
   dataType: 'html'
});

$.get({
   url: "<?=$this->webroot?>admin/subcategorynew/add/"+prodid,
   data: data,
   error: console.log,
   success: console.log,
   dataType: 'html'
});

通过JQuery

显示我们想要的数据

设置回调

success: dataToProcess,

创建回调

function dataToProcess(data, status){
  // select your submenu via the ID
  // $.html() will replace the current HTML data INTO the actual tag to the data you sended
  $("#idSubMenu").html(data);
}