2014-10-18 6 views
0

메뉴 (ID, 이름)가있는 선택 상자가 있고 다른 선택 상자 범주가 (cid, cname)이고 menuid을 "url"으로 설정하여 선택한 메뉴를 기준으로 카테고리 만 표시해야합니다. 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

첫째, 당신은 어떻게 볼 수있는 오류 트리거를 추가해야합니다 : 다음은 내 코드입니다. AJAX는 JSON을 기반으로하며 HTML 코드를 전송합니다. 그런 다음 데이터 유형을 변경해야합니다. 마지막으로, 쉽게하기 위해 $ .get() 및 $. post()를 사용하여 데이터가 전달되는 방식을 확인할 수 있습니다.

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

테스트 할 때 이와 같아야합니다. 결과는

콜백

success: dataToProcess, 
을 설정 JQuery와을 통해, 우리가 원하는 데이터를 표시하려면

$.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' 
}); 

크롬이나 파이어 폭스에서처럼 DEVELOPPEMENT 콘솔에

콜백 만들기

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

스크립트가 작동하지만 데이터가 –

+0

는 여전히 데이터가 표시되지 않습니다 카테고리 선택 상자 ...에 표시되지 않습니다 ... 바이올린 나에게 전체 코드를 전송 ... PLS –

+0

을 여기에 쉬운 예입니다 HTTP : //jsfiddle.net/AlexisTM/9eqndzph/ –

관련 문제