1

我有这行代码:

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

这将正确选择这样的元素

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

但这不会选择具有备用大小写的元素,如下所示:(注意大写 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!" })
4

2 回答 2

3

使用.filter带有正则表达式的方法:

$(selector).find(":input").filter(function(){
    return /true/i.test($(this).attr("data-val"));
});
于 2012-03-12T15:30:15.757 回答
1

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

于 2012-03-12T15:28:03.347 回答