【问题标题】:JQuery .on() complex selector with multiple includes and excludes具有多个包含和排除的 JQuery .on() 复杂选择器
【发布时间】:2016-01-25 04:30:23
【问题描述】:

我有一个表单,我想根据输入的变化值自动保存,但我的选择器有问题。我的问题似乎特别与我试图排除的输入有关,因为当这些输入发生变化时,该函数仍然会触发。

$('#OrderDetailsTabs').on('change',
    'form[id^="frmWorkOrderHdr"] input[type=text],form[id^="frmWorkOrderHdr"] input[type=number], form[id^="frmWorkOrderHdr"] select, form[id^="frmWorkOrderHdr"] textarea, input:not("#WOHdr_FinishedGoodsItemId_AutoComplete, .itemSelectorCategory1, .itemSelectorCategory2")',
    function () {
    saveWOHdr(event, this);
})

例如,当输入 #WOHdr_FinishedGoodsItemId_AutoComplete 更改时,saveWOHdr 事件仍在触发,this 对象确实是 #WOHdr_FinishedGoodsItemId_AutoComplete 输入。

我目前的选择器是我在阅读this other SO answer后得出的。

我认为我拥有的包含选择器字符串也可以被清理以减少重复的 form[id^="frmWorkOrderHdr"]parent 限定符......但我不想太花哨,直到我得到它至少以我想要的方式执行。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    给他们一个共同的课程。

    <input class="save-auto some-other-style-class">
    

    让选择器sooooo简单

    $('#OrderDetailsTabs').on('change','.save-auto', saveWOHdr);
    

    更容易阅读,更容易查看这些元素以进行故障排除

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 2010-12-09
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多