2014-10-20 79 views
0

任何人都可以帮忙吗?我有一个带有文本元素和列表框的表单,我希望从可用于列表框的MultiSelectList生成列表中排除文本元素中指定的标识。基于其他表单元素动态地过滤MultiSelectList

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

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

'''中有'value'属性和内部html(显示文本)。您是否想要通过其值或文本或索引来删除该选项 – 2014-10-20 21:40:33

+0

允许在ExcludeID文本元素中使用id或文本并将其从列表中删除,对用户来说最为友好。那可能吗? – 2014-10-22 15:40:48

+0

是的,但您已经接受了一个不起作用的答案,所以不确定您是否想要一个工作解决方案 – 2014-10-22 22:06:43

回答

0

试试这个jQuery中,

$("#ExcludeId").blur(function(){ 
    $("#SelectedValues > option[id="+ $(this).val() +"]").remove(); 
}); 
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" }) 
相关问题