См. здесь , если вы хотите увидеть, что я делаю.
Я могу получить раскрывающийся список для загрузки из источника JSON, но когда я выбираю элемент, список перезагружается снова. Я знаю, в чем проблема, я просто не знаю решения.
$("#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());
});