我有一个表单,我想根据输入更改值自动保存,但我的选择器出现问题。我的问题似乎特别针对我试图排除的输入,因为当这些输入发生变化时函数仍会触发。
$('#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"]
父限定符...但我不想太过花哨,直到我得到它至少表现我的方式想。
答案 0 :(得分:0)
给他们一个共同的课程。
<input class="save-auto some-other-style-class">
使选择器 sooooo 变得简单
$('#OrderDetailsTabs').on('change','.save-auto', saveWOHdr);
更容易阅读,更容易看到这些元素进行故障排除