[英]Removing duplicates from a dropdownlist
我有一個下拉列表,該列表返回重復項。 我不知道為什么它返回重復項。 這是我的下拉菜單的控件。
@Html.DropDownList("procDateId", Model.GetEmpHoursDateRange.EmphoursdateSelectList, Model.GetEmpHoursDateRange.selectedEmplhoursdate, new { id = "procDateId" })
我希望能夠在頁面加載后刪除重復項。 我用警報測試了下面的代碼,並能夠訪問文檔。
$(document).ready(function () {
alert("here you go !!!");
[].slice.call($('#procDateId').option)
.map(function (a) {
if (this[a.innerText]) {
$('#procDateId'.option).removeChild(a);
} else {
this[a.innerText] = 1;
}
}, {});
});
這是我的下拉列表呈現的html。
<select id="procDateId" name="procDateId">
<option value>1/11/2017</option>
<option value>1/11/2017</option>
<option value>1/10/2017</option>
<option value>1/9/2017</option>
</select>
上面的代碼沒有刪除重復項。 沒運氣。 請協助。
選項的jQuery選擇器顯示不正確: $('#procDateId').option
-> ('#procDateId option')
此外,您可以直接在該選項上調用remove
jsfiddle: https ://jsfiddle.net/db9zczr0/
加倍的原因是您正在使用defaultOption
= Model.GetEmpHoursDateRange.EmphoursdateSelectList
。 返回的值是重復值。
默認選項出現在列表的開頭,其值為空。 默認選項用於傳達未從列表中選擇任何選項的信息,例如,當下拉控件表示可選參數時。
來自https://msdn.microsoft.com/zh-cn/library/gg548012(v=vs.111).aspx
因此,您將需要使用其他重載,例如
HtmlHelper.DropDownList方法(字符串,IEnumerable,對象)
然后,在IEnumerable<SelectListItem>
的控制器循環中,告訴控制器使用保存的會話值顯示選定選項,並為匹配項設置Selected = true
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.