Voir here si vous voulez voir ce que je fais.Utilisation de jQuery .live pour remplir une liste déroulante et sélectionner un élément
Je peux obtenir une liste dropdrop à charger à partir d'une source JSON, mais quand je sélectionne un élément, la liste se recharge à nouveau. Je sais quel est le problème, je ne connais pas la solution.
$("#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);
});
Je sais que le problème est "clic", mais je ne sais pas ce que je devrais utiliser à la place.
Mise à jour nouveau problème lié Le seul problème que j'ai maintenant est lorsque la page d'édition se charge, je dois resélectionner mes données dans chaque liste déroulante. Comment puis-je charger la liste déroulante lorsque je charge la page?
code de travail problème jusqu'ici moins au-dessus
L'affichage
<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>
Et le script
// 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());
});
um? quel est le résultat souhaité? – nickf