我对Jquery比较新,我正在尝试运行一些Jquery代码,我有一些问题......
代码确实显示了区域和城市选择框,但是当我选择一个区域时它没有任何反应(它应该显示所选区域的城市)......
这就是标签的含义......
<script type="text/javascript">
var searchQry = '<?php echo fun_displaysc_js( $searchQry ); ?>' ;
$(document).ready(function(){
if($('input[name=searchPattern]').val() == searchQry) {
$('input[name=searchPattern]').css('color', 'gray');
}
$('input[name=searchPattern]').click(function(){
if($('input[name=searchPattern]').val() == searchQry) {
$('input[name=searchPattern]').val('');
$('input[name=searchPattern]').css('color', '');
}
});
$('input[name=searchPattern]').blur(function(){
if($('input[name=searchPattern]').val() == '') {
$('input[name=searchPattern]').val(searchQry);
$('input[name=searchPattern]').css('color', 'gray');
}
});
$('input[name=searchPattern]').keypress(function(){
$('input[name=searchPattern]').css('background','');
})
$("#regionId").live("change",function(){
var reg_code = $(this).val();
<?php if($path=="admin") { ?>
var url = '<?php echo func_admin_base_url(true)."?page=ajax&action=cities®ionId="; ?>' + reg_code;
<?php } else { ?>
var url = '<?php echo func_base_url(true)."?page=ajax&action=cities®ionId="; ?>' + reg_code;
<?php }; ?>
var result = '';
if(reg_code != '') {
$("#cityId").attr('disabled',false);
$.ajax({
type: "POST",
url: url,
dataType: 'json',
success: function(data){
var length = data.length;
if(length > 0) {
result += '<option selected value=""><?php _display("Select a city..."); ?></option>';
for(key in data) {
result += '<option value="' + data[key].city_id + '">' + data[key].s_name + '</option>';
}
$("#city").before('<select name="cityId" id="cityId" ></select>');
$("#city").remove();
} else {
result += '<option value=""><?php _display('No results') ?></option>';
$("#cityId").before('<input type="text" name="city" id="city" />');
$("#cityId").remove();
}
$("#cityId").html(result);
}
});
} else {
$("#cityId").attr('disabled',true);
}
});
if( $("#regionId").attr('value') == "") {
$("#cityId").attr('disabled',true);
}
});
</script>
答案 0 :(得分:1)
您的ajax方法是POST
,但是您将所有数据放在网址查询字符串中,使用GET
或将data
属性添加到您的ajax调用中并传递您的参数在查询字符串时使用它。
var url = '<?php echo func_admin_base_url(true); ?>';
...
$.ajax({
data: "page=ajax&action=cities®ionId=" + reg_code;//or data: {page:"ajax",action:"cities",regionId:reg_code}
答案 1 :(得分:-1)
将$("#cityId").remove();
替换为$("#cityId").empty();
并尝试一下。