我选择了包含菜单(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>";
答案 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);
}