2013-10-11 198 views
0

如何使用jquery在多選下拉列表中設置值。我正在使用MVC3 Razor視圖來顯示多選下拉列表並使用http://quasipartikel.at/multiselect_next/這個多選插件。在多選下拉列表中選擇項目MVC3 jquery

<div class="editor-field">   
    @Html.DropDownListFor(model => model.ActionId, (SelectList)ViewBag.ActionsList, new { @class = "multiselect", @multiple = "multiple", @style = "width: 450px;height:300px" }) 
    @Html.ValidationMessageFor(model => model.ActionId) 
</div> 
<button onclick="setValues()">Set values </button> 

在javascript中我使用的代碼

function setValues() {  
    var valArr = [2, 3, 5]; 
    var i = 0, size = valArr.length; 
    var $options = $('#ActionId option'); 
    for (i; i < size; i++) {   
     // $("#ActionId option[value='" + valArr[i] + "']").attr("selected", 1); this is also not working 
     $("#ActionId option[value='" + valArr[i] + "']").attr("selected", true); 
    }  
} 

但價值沒有得到按鈕的單擊事件選擇。 當我刷新頁面時,值正在被選中。 我該如何克服這個問題?我想使用javascript設置按鈕單擊時的多點下拉列表中的值

回答

0

您應該提供字段名稱,其值將由Razor引擎綁定到下拉列表,以便您需要提供要綁定的屬性名稱落下。 嘗試了這一點

@Html.DropDownListFor(model => model.ActionId, new SelectList(@ViewBag.ActionsList,"AccountID","AccountName"), new { @class = "multiselect", @multiple = "multiple", @style = "width: 450px;height:300px" }) 

其中ACCOUNTID,帳戶名是內則actionsList 屬性字段和帳戶名值將顯示在頁面上,並ACCOUNTID將是選擇

在你的情況檢查則actionsList綁定,並把屬性名到位ACCOUNTID和帳戶名

+0

但我如何設置Dropdownlist上的選定值? 我的下拉菜單是多選的,我想設置一些選定的值。我該怎麼做? –

+1

您可以使用像Choosenjs這樣的javascript插件http://harvesthq.github.io/chosen/ –

+0

這似乎沒有正確綁定到所選項目的視圖上。它可以很好地將選定的值綁定到模型,而不是從模型到視圖來顯示之前選擇的內容 –

相關問題