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を使用する必要があります:)少しハックに見えますが、問題を解決できます。

于 2012-03-12T15:28:03.347 に答える