2014-10-20 86 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" })