2014-10-18 75 views
0

我有菜单(ID,名称)的选择框,我有另一个选择框类别(cid, cname),它只能显示基于通过将menuid设置为“url”所选菜单的类别。 这里是我的代码: http://jsfiddle.net/L8su2/738/选择框onchange事件的AJAX代码

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

首先,你应该添加一个错误触发,看看会发生什么。 AJAX基于JSON,您正在发送HTML代码。然后你必须改变数据类型。最后,为了简化操作,您可以使用$ .get()和$ .post()来确保数据即将到来。

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

它应该是这样的测试。结果是在你的DEVELOPPEMENT控制台像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); 
} 
+0

脚本工作,但数据没有类别的选择框... – 2014-10-18 07:38:38

+0

仍然未显示数据显示...给我在小提琴的完整代码...请 – 2014-10-18 08:00:27

+0

下面是一个简单的例子 HTTP ://jsfiddle.net/AlexisTM/9eqndzph/ – 2014-10-18 08:14:57