我有这行代码:
$(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!" })
答案 0 :(得分:3)
将.filter
方法与regexp:
$(selector).find(":input").filter(function(){
return /true/i.test($(this).attr("data-val"));
});
答案 1 :(得分:1)
在这种情况下,如果你想拥有一个jquery选择器,你应该使用REGEX作为布尔值:)它看起来有点hackish但它可以解决你的问题。