1

我有一些带有名称的文本框:

 1. txt_provider_quote_1
 2. txt_provider_quote_2
 3. txt_provider_quote_3

 4. txt_provider_quote_dlg_1
 5. txt_provider_quote_dlg_2
 6. txt_provider_quote_dlg_3

还有一个模糊功能:

$('input[name^=txt_provider_quote_]').blur(function(){
    alert("hi");
});

正在为所有 6 个文本框执行模糊。我希望它只对前 3 个文本框执行。

4

3 回答 3

5

您需要从集合中过滤掉不需要的元素。尝试:

$('input[name^=txt_provider_quote_]').not('input[name^=txt_provider_quote_dlg]').blur(function(){
    alert("hi");
});

反而。

于 2013-07-03T11:35:49.247 回答
1

向受影响的输入添加一个公共类属性,例如:

<input type="text" name="txt_provider_quote_1" class="blur_affected">
<input type="text" name="txt_provider_quote_2" class="blur_affected">
<input type="text" name="txt_provider_quote_3" class="blur_affected">

在其他输入中省略此类:

<input type="text" name="txt_provider_quote_dlg_1">
<input type="text" name="txt_provider_quote_dlg_2">
<input type="text" name="txt_provider_quote_dlg_3">

现在是 jQuery:

$('input.blur_affected').blur(function(){
    alert("hi");
});
于 2013-07-03T11:30:18.140 回答
1

尝试这个,

    $('input[name^=txt_provider_quote_]').not('input[name^=txt_provider_quote_dlg]').blur(function(){
       alert("hi");
    });

这是演示

于 2013-07-03T11:34:12.713 回答