- JScript code
$("#prov").change(function() { //$("#city").html(""); $("#city").children().remove(); $("#city").append($("<option></option>").val("").text("--请选择--")); $("#area").children().remove(); $("#area").append($("<option></option>").val("").text("--请选择--")); $.get("${pageContext.request.contextPath}/area/areaList.action", {areaId:this.value, _:new Date().getTime()}, function(data) { alert(data); $.each(data, function() { $("#city").append($("<option></option>").val(this.id).text(this.name)); }); }, "json"); });
------解决方案--------------------
function(data) {
alert(data);
$.each(data, function() {
$("#city").append($("<option></option>").val(this.id).text(this.name));
});
你是说发完AJAX请求回调执行的这里?
------解决方案--------------------
$.get函数需要服务器正确返回200才会执行
------解决方案--------------------
------解决方案--------------------
${pageContext.request.contextPath}/area/areaList.action这个路径有问题
$.get只有动态页没有问题才会执行回调
或者你的动态页返回的json格式是怪异模式的,而jq使用了1.4+版本也会不执行success回调,具体参考
jquery datatype json
建议先调试好动态页再使用$.get,要不使用$.ajax,这样可以配置error回调
------解决方案--------------------
JScript code$("#prov").change(function() {
//$("#city").html("");
$("#city").children().remove();
$("#city").append($("<option></option>").val("").text("--请选择--"));
$("#area").children().remove();
$("#area").append($("<option></option>").val("").text("--请选择--"));
$.get("${pageContext.request.contextPath}/area/areaList.action", {areaId:this.value, _:new Date().getTime()}, function(data) {
alert(data);
$.each(data, function() {
$("#city").append($("<option></option>").val(this.id).text(this.name));
});
}, "json");
});
------解决方案--------------------
$.each(data, function(i) {
$("#city").append($("<option></option>").val(data[i].id).text(data[i].name));
});
------解决方案--------------------