jQuery按布尔数据属性选择

时间:2012-03-12 15:24:44

标签: jquery validation jquery-selectors custom-data-attribute

我有这行代码:

$(selector).find(":input[data-val=true]")

这将正确选择这样的元素

<input type='number' data-val='true' />

但是这将 NOT 选择具有备用套管的元素,如下所示:(注意大写字母T)

<input type='number' data-val='True' />

除了为不同的外壳添加多个选择器之外,还有什么方法可以确保选择器返回其中包含正确布尔值的元素(即使它是一个字符串“


仅供参考,当我将vlaue设置为实际布尔值时,由于我的MVC应用程序而发生了外壳方差,当它转换为字符串时,它会对此进行资格化:(

@Html.TextBox("quoteNumber", "", new { type = "number", data_val = true, data_val_required = "You must enter a quote number!" })

2 个答案:

答案 0 :(得分:3)

.filter方法与regexp:

一起使用
$(selector).find(":input").filter(function(){
    return /true/i.test($(this).attr("data-val"));
});

答案 1 :(得分:1)

在这种情况下,如果你想拥有一个jquery选择器,你应该使用REGEX作为布尔值:)它看起来有点hackish但它可以解决你的问题。