取消更改事件

时间:2018-12-11 07:59:24

标签: jquery

我要在下拉菜单的更改时触发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

1 个答案:

答案 0 :(得分:0)

我认为您只想做$('#ddlKeywords option[value=]').attr('selected', false),它将删除属性而不会触发更改事件。

此外,您还应该为要从中删除属性或根本不添加说明符的选项提供一个值。

为进一步参考,unbind方法需要一个函数来解除绑定(它在内部使用了removeEventListener函数。