如何使用jquery在多选下拉列表中设置值。我正在使用MVC3 Razor视图显示多选下拉列表并使用http://quasipartikel.at/multiselect_next/此多选插件。
<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 :(得分:0)
您可以提供字段名称,其值将由Razor引擎绑定到下拉列表,您需要提供要在下拉列表中绑定的属性名称。 试试这个
@Html.DropDownListFor(model => model.ActionId, new SelectList(@ViewBag.ActionsList,"AccountID","AccountName"), new { @class = "multiselect", @multiple = "multiple", @style = "width: 450px;height:300px" })
其中AccountId,AccountName是ActionsList中的属性字段 和AccountName值将显示在页面中,AccountId将绑定在选择
在您的情况下,检查ActionsList并将属性名称替换为AccountId和AccountName
答案 1 :(得分:0)