2013-10-11 168 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

这似乎没有正确绑定到所选项目的视图上。它可以很好地将选定的值绑定到模型,而不是从模型到视图来显示之前选择的内容 –

相关问题