JQuery在更改时验证选择器ID

时间:2012-05-02 07:41:17

标签: jquery regex select

$('select').change(function() {
   //important stuff
});

在执行important stuff之前,我想通过其ID验证有问题的选择器。我想要影响的所有ID都以_stat结尾。你会如何用JQuery中的正则表达式(或其他东西)来做到这一点?

$('select').change(function() {
   if ($("select[id*='_stat']")) {  //<~ this aint work
   //important stuff
   }
});

3 个答案:

答案 0 :(得分:3)

您可以使用if ($(this).is("select[id$='_stat']"))执行此操作,但最好只将事件处理程序附加到这些元素 - 然后您根本不需要检查:

$("select[id$='_stat']").change(function() {
   //important stuff
});

答案 1 :(得分:1)

您正在寻找:

if($(this).is('[id$="_stat"]')) {
    // important stuff
}

虽然如果您只希望change处理程序在select元素的_stat元素上运行,那么您应该查看Jon的答案。

答案 2 :(得分:1)

您甚至可以只附加id以_stat结尾的选项:

$('select[id$="_stat"]').change(function() {
   //important stuff only for selects id ending in _stat
});