1

属性別のケーシング、そう:(大文字のTに注意してください)jQueryのブールデータによって選択が、私はこのコード行を持っている

それは文字列だにもかかわらず

異なるケースについて複数のセレクタを入れるほか、セレクタはそれで正しいブール値と要素を返すことを確認する良い方法は何である(」


FYI、筐体の分散は、私が実際のブール値にvlaueを設定すると、それが文字列に変換されるとき、それはこれをcapializeます原因私のMVCアプリケーションに発生:(

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

はおそらく() ''そして.filterを使用して、属性値を正規化する必要があります。 –

+0

[Jqueryを使用した大文字と小文字を区別しない属性値セレクタ]の複製が可能です(http://stackoverflow.com/questions/5755722/case-insensitive-attribute-value-selector-with-jquery) –

答えて

3

使用正規表現と.filter方法:

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

素晴らしいです。たぶん 'return /true/i.test($(this).data(" val "));'代わりに? –

+0

@Chris Barrもしあなたがこれを使っていたら、文字列値の代わりにブール値と比較しています。 jQueryは自動的にデータ属性の '' true ''をブール' true'に変換しますが、 '' True''をブール ''に変換しません。 –

+0

ああ、おかげで、ありがとう! –

1

このケースでは、単一のjqueryのセレクタを持つようにしたい場合はブール値にはREGEXを使うべきです:)それ少しハッキリしているように見えますが、それはあなたの問題を解決することができます。

関連する問題