我正在使用json的ajax調用。我打電話給ajax電話的酒店名單,但現在我必須打電話給特定酒店的價格。請支持。在JSON的響應對象上調用Ajax
守則酒店名單如下:
HTML
<td style="color: #993300"><strong>Add Services<input name="add-service" id="add-service" type="button" value="+" style="background-color: #993300; color: #FFFFFF;" /></strong></td>
的JQuery對於調用Ajax獲得酒店列表:
$('#cmb_service').bind('change', function(){
var value = $(this).val();
var destination = $("#destination")
$.ajax({
type : 'POST',
url : '../enquiries/getpricebyajax',
dataType : 'json',
data: {
service : value,
destno : destination.val()
},
success : function(data) {
$('#waiting').hide(500);
$('#divserviceprovider').text('');
$('#divserviceprovider').append(data.msg);
$('#divserviceprovider').show(500);
if (data.error === true)
$('#divserviceprovider').show(500);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$('#waiting').hide(500);
$('#divserviceprovider').removeClass().addClass('error')
.text('There was an error.').show(500);
$('#divserviceprovider').show(500);
}
});
return false;
});`
PHP代碼的響應酒店名單如下:
function getpricebyajax()
{
$str="";$substr="";
if(!empty($_POST['service']))
{
switch ($_POST['service']) {
case "3":
{
$rshotels=$this->Enquiry->query("SELECT id, name FROM hotels where destination_id=".$_POST['destno']);
foreach($rshotels as $hotel){
$substr.='<option value="'.$hotel['hotels']['id'].'">'.$hotel['hotels']['name'].'</option>';
}
$str.= '<select id="cmb_hotel" name="cmb_hotel">'.$substr.'</select>';
$str.= '<div id="divhotel_details"></div>';
}
break;
default:
break;
}
$return['error'] = true;
$return['msg'] = $str;
}
exit(json_encode($return));
}
`
我直接HTML的代碼粘貼到DIV。它很好地顯示了酒店名單。但是選擇「divhotel_details」的代碼是什麼。當我點擊divhotel_details時,我必須再次調用ajax來生成該酒店的價格。
請給我建議。
在此先感謝。
感謝里卡多,但我需要基於第一個響應的動作調用嵌套的AJAX 。 –
你可以得到正確的答覆並顯示這個問題?所以想讓你試着做的是在選擇框中,改變時調用新的價格是否正確? –
你可以這樣做然後在你的callAjax()再次調用服務並在div中顯示信息,首先清理div $(「#div」) .empty(); $(「#div」)。append(ajaxresponse)我會爲你發佈一個新線程 –