jQuery检查输入是否与基于关键字的名称匹配

时间:2016-08-16 08:25:23

标签: jquery

我有一张表格。在这种形式中,我通过模糊事件跟踪输入值。如果输入名称包含或包含txt_asnLineRepeat,我需要仅使用值。我的问题是我的选择器总是未定义的。作为回报,我需要有真或假。请帮忙。这是我的代码。

<input type="text" name="txt_asnLineRepeat" value="1000" size="10"/>
<input type="text" name="txt_asnLineRepeat_0" value="200" size="10"/>
<input type="text" name="txt_asnLineRepeat_1" value="500" size="10"/>
<input type="text" name="DeliveryDate"/>
<input type="text" name="TrackingNo"/>
$('#frmDocument input:not(.button),select').on("blur", function () {
    var selector = $(this);
    var name = selector.attr('name');
    //check if selector name contains txt_asnLineRepeat 
    //should return true or false
    var hasResult = selector.attr("name:contains('txt_asnLineRepeat')")
    //hasResult always gives me undefined. Return must be true or false or 1 or 0.
});

2 个答案:

答案 0 :(得分:3)

您可以通过使用'attribute starts with'选择器将事件附加到相关元素来保存事件处理程序中的逻辑:

$('#frmDocument input[name^="txt_asnLineRepeat"]').on("blur", function () {
    // your logic here...
});

答案 1 :(得分:2)

您可以使用indexOf查找name内的字符串。但是,只有当你想在事件处理程序中做更多事情时。否则请使用@RoryMcCrossan回答!

var hasResult = selector.attr("name").indexOf("txt_asnLineRepeat") >= 0;
// or
var hasResult = name.indexOf("txt_asnLineRepeat") >= 0;