根据其他表单元素动态过滤MultiSelectList

时间:2014-10-20 18:46:44

标签: c# asp.net-mvc

任何人都可以帮忙吗?我有一个带有文本元素和列表框的表单,我想在列表框中可用的MultiSelectList生成列表中排除text元素中指定的id。

<input type="text" class="form-control input-sm" placeholder="Exclude Value" id="ExcludeID" name="ExcludeID" value="@Model.ExcludeIDName" required /&GT;

@Html.ListBoxFor(m => m.SelectedValues, new MultiSelectList(Model.ListOfValues, "ID", "Name", Model.SelectedValues),
                                    new {  @class = "chosen", data_placeholder="Select Values" })

2 个答案:

答案 0 :(得分:0)

您可以在创建MultiSelectList之前将其过滤掉:

@Html.ListBoxFor(m => m.SelectedValues,
                 new MultiSelectList(Model.ListOfValues.Where(item => item.ID != Model.ExclueIDName), "ID", "Name", Model.SelectedValues),
                 new {  @class = "chosen", data_placeholder="Select Values" })

答案 1 :(得分:0)

在jquery中尝试这个,

$("#ExcludeId").blur(function(){
    $("#SelectedValues > option[id="+ $(this).val() +"]").remove();
});