保罗,你在哪里调用这个函数?我认为您需要在 document.ready 函数中调用它。
您还需要将模型与 selected 值绑定。这样它将在 html 中可用。没有回发,一旦您发送数据,就没有会话管理。响应将是基于您从控制器创建的模型的新页面。
我怀疑脚本在回复后或在您的回复中没有执行。请验证。因此,由于 ajax 加载或脚本未执行,html 不包含值。请确保您提供的脚本正在运行。
请用准备好的文件更新问题。
编辑
$("#ddlBrand1").change(function () { //this will trigger only when ddlBrand1 changes
$.getJSON("URL", { id: idBrand },
function (carModelData) {
// check this line of code executes ?
// alert(carModelData) may expected to return some thing
// other than null
$("#ddlModel1").removeAttr('disabled');
// makes ddlModel1 active
var select = $("#ddlModel1");
select.empty();
// clears the items of #ddlModel1
select.append($('<option/>', { value: '', text: "---Select Model---" }));
// adds new --Select-- (you can give value as 0)
$.each(carModelData, function (index, itemData) {
select.append($('<option/>').val(itemData.Value).html(itemData.Text ));
});
// this will loops the JSON result from the server and
adds the option (items)
});
});
故障排除技巧
1.This function will call only when 'ddlBrand1' changes. For this to
happen ddlBrand1 needs to have more than one option.
2. Check whether getJSON returns a proper value.
3. Verify the url,parameters and the result (here carModelData). Alert it.
4. Also verify the response from server is not null.
You need to verify the controller, action etc. An error occurred in controller
also leads to same issue.
5. Refer this below and add .error,.sucess,.complete
jQuery 1.5 中的 Promise 接口还允许 jQuery 的 Ajax 方法,包括 $.getJSON(),在单个请求上链接多个 .success()、.complete() 和 .error() 回调,甚至可以在之后分配这些回调请求可能已完成。如果请求已经完成,则立即触发回调。单击此处url