所以这里有两个下拉菜单:
<select id="CountryId">
<option value="16">UK</option>
<option value="17">Germany</option>
<option value="18">Italy</option>
<option value="19">Spain</option>
</select>
<select id="CityId"> </select>
在应用程序中我有一个php函数,它按国家/地区的ID返回城市列表:
{"63":"Rome","65":"Palermo","72":"Torino","73":"Milan"}
我尝试实现的是在第一个下拉列表中更改以获取国家/地区的ID并使用返回的城市填充第二个列表。
我尝试用这个AJAX调用实现它,并试图调试它,但似乎没有任何工作。 var data
正在被接收,但没有其他事情发生。这是片段:
$('#CountryId').change(function(){
var data = $('#EventCustomerId option:selected').val();
$.ajax({
type:'POST',
async: true,
cache: false,
url: <?php echo Router::url(array('controller'=>'projects','action'=>'getbycustomer')) ?>,
success: function(response) {
jQuery('#CityId').html(response);
},
data: data
});
return false;
})
我对使用响应填充第二个下拉列表的方式不太安全。响应以JSON中的纯HTML格式返回。
非常感谢任何帮助。
答案 0 :(得分:1)
您尝试过将异步设为false吗?
$('#CountryId').change(function(){
var data = $('#EventCustomerId option:selected').val();
$.ajax({
type:'POST',
async: false,
cache: false,
url: <?php echo Router::url(array('controller'=>'projects','action'=>'getbycustomer')) ?>,
success: function(response) {
jQuery('#CityId').html(response);
},
data: data
});
});
如果电话现在可以使用,你可以在这里发布你的回复