我想填充一個使用jQuery的SELECT,並在它填充後設置我想要的值。 我與ASP.NET MVC工作5用jQuery填充後設置SELECT值
問題是價值不被設置
這裏是我的代碼:
$(document).ready(function() {
//DropDownLists Initialization
ListCategories(); //Populates the dropdownlist
PreviousCategory(); //Sets DropDownList value to previous state (posted value)
});
function PreviousCategory() {
var previousCategory = $("#PreviousCategory").val();
if (previousCategory != null && previousCategory != '') {
$("#IdCategory").val(previousCategory);
}
}
$( 「#PreviousCategory」)是一個隱藏的輸入,它會在下一個代碼回傳後得到它的值服務器端:
@if (ViewBag.Category!=null)
{
@Html.Hidden("PreviousCategory",(object)ViewBag.Category);
}
兩個函數分開工作,Drop DownList獲得完美填充,但值不會被設置。 如果我從另一個事件觸發PreviousCategory()(例如單擊按鈕),該值將被完美設置。
我不認爲有必要發佈ListCategories()代碼,因爲它運行良好,你可以假設它填充下拉列表,但如果有人發現它需要讓我知道,我會編輯帖子。
編輯:
這裏是ListCategories()代碼:
function ListCategories(){
_idOrganigrama = $("#IdOrganigrama").val()
_idTipoPedido = $("#IdTipoPedido").val()
data = { idOrganigrama: _idOrganigrama, idTipoPedido: _idTipoPedido }
$.post("ListCategories/", data, function (categoryList) {
$("#IdCategoria").empty();
$(categoryList).each(function() {
$("<option />", {
val: this.Id,
text: this.Descripcion
}).appendTo($("#IdCategory"));
});
});
}
順便說一句... $( 「#IdCategory」)是選擇。
回調基礎的解決方案,你可以發佈)ListCategories的內容(?無論是那個還是'#idCategoria'的渲染HTML# – damienc88
1.在PreviousCategory中添加調試並檢查previousCategory值。 2.你是否確定previousCategory存在於分類列表中? – alexmac
我的代碼是西班牙文,所以我把它翻譯成英文,我忘了把#idCategoria改成#idCategory,我現在編輯這個問題併發布你問我的代碼。 – Juanso87