如果你想看看我在做什么,请参见here。
我可以从JSON源获取一个dropdrop列表,但是当我选择一个项目时,列表会再次重新加载。我知道问题是什么,我只是不知道解决方案。
$("#RequestType").live("click", function() {
var items = "<option selected>(Select)</option>";
$.each(jsonRequestType, function(i, item) {
items += "<option value='" + item.Id + "'>" + item.Title + "</option>";
});
$("#RequestType").html(items);
});
我知道问题是“点击”,但我不知道应该使用什么。
更新新的相关问题我现在唯一的问题是加载编辑页面时,我必须在每个下拉列表中重新选择我的数据。如何在加载页面时将下拉列表加载?
到目前为止工作代码减去上面的问题
显示
<td><%= Html.Hidden("RequestType", Model.DayRequested.RequestType, new { Class = "RequestTypeValue" })%>
<%= Html.DropDownList("RequestTypeDdl", new List<SelectListItem> { new SelectListItem { Text = "(Select)", Value = "" } }, new { Class = "RequestTypeDdl" })%></td>
脚本
// Get the request types for the drop down
$(".RequestTypeDdl").live("focus", function() {
var items = "<option>(Select)</option>";
var field = $(this);
$.each(jsonRequestType, function(i, item) {
items += "<option value='" + item.Id + "'";
if ($(field).prev("input").val() == item.Id)
items += " selected";
items += ">" + item.Title + "</option>";
};
});
$(this).html(items);
});
$(".RequestTypeDdl").live("change", function() {
$(this).prev("input").val($(this).val());
});
答案 0 :(得分:0)
尝试'焦点'或'改变',也许。