2014-10-18 122 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