我要在下拉菜单的更改时触发Change事件,我必须在更改时删除selected
attr,以下是代码...
cshtml
<select id="ddlKeywords" name="KeywordsCollection" onchange="Images.ClearFieldsOnKeywordSelect()" multiple>
<option value="">Please select keywords</option>
@foreach (var item in ViewBag.keywords)
{
<option value="@item.Code">@item.Description</option>
}
</select>
jQuery
me.ClearFieldsOnKeywordSelect = function () {
$('#ddlKeywords option[value=]').removeAttr('selected').change();
.........................
如您所见,删除属性时触发了.change()
事件。
我尝试了unbind('change').change()
,off('change').change()
,unbind().change()
,off().change()
,但没有一个起作用。
并且unbind('change')
不会删除selected
attr
答案 0 :(得分:0)
我认为您只想做$('#ddlKeywords option[value=]').attr('selected', false)
,它将删除属性而不会触发更改事件。
此外,您还应该为要从中删除属性或根本不添加说明符的选项提供一个值。
为进一步参考,unbind
方法需要一个函数来解除绑定(它在内部使用了removeEventListener
函数。