我喜欢在asp.net中使用Jquery使用Cascading Dropdown
我的webMethod被调用,我得到了结果,但值没有得到绑定。
这是我的代码
if ($(".ddlService").val() != "") {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Port.aspx/VCode_Get",
data: "{ServiceID:'" + $(".ddlService").val() + "'}",
dataType: "html",
success: function (html) {
try {
Success(html);
} catch (ex) {
alert("ErrCode:7");
}
},
error: function (msg) {
alert("ErrCode:8");
}
})
return false;
}
else {
$(".ddlVoyage").empty();
$(".ddlVoyage").append("<option value=''>Select </option>");
}
});
});
function Success(result) {
alert("SUccess Called");
$(".ddlVoyage").empty();
$(".ddlVoyage").append("<option value=''>Select </option>");
$.each(data, function (index, result) {
$(".ddlVoyage").append("<option value='" + result.VoyageMasterID + "'>" + result.VoyageCode + "</option>");
});
}
我得到警报
提醒(“已成功呼叫”);
另外注意Dropdown iam获取值选择绑定到它,但值没有得到绑定
Iam在我的数据库中也有值..,
我认为在iam袭击的这两行中需要改变一些东西
$.each(data, function (index, result) {
$(".ddlVoyage").append("<option value='" + result.VoyageMasterID + "'>" + result.VoyageCode + "</option>");
我不知道如何将这些值绑定到选择,我来到这里,任何人都可以帮助。
答案 0 :(得分:0)
我认为你是以错误的方式绑定html ..
..<option value='" + result.VoyageMasterID + "'>"...
//--^^^^^^^^^^^^^^^^---here looks like you have a response as JSON..
试试这个
$.ajax({
type: "POST",
...
dataType: "json", //here get response as json
.....
});
并确保在控制器中将响应作为JSON发送(我认为你已经在做了)。将dataType更改为JSON应该有效..
<强>更新强>
你的json
{ "Table": [ { "VoyageMasterID": 3, "VoyageCode": "9101" }, { "VoyageMasterID": 3, "VoyageCode": "9101" }]}
试试这个
function Success(result) {
alert("SUccess Called");
$(".ddlVoyage").empty();
$(".ddlVoyage").append("<option value=''>Select </option>");
$.each(result.Table, function (index, value) {
$(".ddlVoyage").append("<option value='" + value.VoyageMasterID + "'>" + value.VoyageCode + "</option>");
});
}
因为你的json是在对象数组中..你必须遍历result.Table(你的对象的名字是表)并得到它的对应的voyagemasterid和voyagecode
答案 1 :(得分:0)
试试这个
$(".ddlVoyage").append("<option value='" + value.Value + "'>" + value.Text + "</option>");
这就是我使用它的方式
$('#offices').change(function () {
$.ajax({
url: '@Url.Action("FillDepartments", "Contact")',
type: 'POST',
cache: false,
data: { id: $(this).val() },
dataType: 'json',
success: function (departments) {
$.each(departments, function (i, departments) {
$("#departments").append('<option value=' + departments.Value + '>' + departments.Text + '</option>')
});
},
error: function (error) {
alert(errorss);
}
});
});