1

jQueryのセレクターを見つけるためにいくつかのheplが必要です。

私はこれらのテキストボックスを持っています:

<input type="text" name="text[1]" value="1,2,3">
<input type="text" name="text[2]" value="1,8,9">
<input type="text" name="text[3]" value="7,4,3">

これらのテキストボックスごとに検索を実行し、value=1が存在するかどうかを確認する必要があります。

セレクターの助けが必要です(のようなもの$(input[name=text[]]).each()

私は使いたくありません$(input[name^='text']).each()、私のコードの残りの部分のためにそれは安全ではないと思います。もっと良い方法はありますか?

誰か助けてもらえますか?

4

4 に答える 4

2

それらをコンテナに包みます:

<div id="container">
    <input type="text" name="text[1]" value="1,2,3">
    <input type="text" name="text[2]" value="1,8,9">
    <input type="text" name="text[3]" value="7,4,3">
</div>

そして、このようにそれらを選択します。

$("#container > input").each(function(i, element){
    $element = $(element);
    if($element.val().indexOf('1') >= 0){
        $element.css("background-color", "yellow");
    }
});

または、次のようなカスタム セレクターを作成することもできます。

$.extend($.expr[':'], {
    contains1: function(e) {
        return $(e).val().indexOf('1') >= 0; 
    }
});

$("#container > input:contains1").css("background-color", "yellow");
于 2009-10-08T11:45:14.353 に答える
2

このようにプレースホルダー クラスを使用します。

<input class="myselector" type="text" name="text[1]" value="1,2,3">
<input class="myselector" type="text" name="text[2]" value="1,8,9">
<input class="myselector" type="text" name="text[3]" value="7,4,3">

次に、それは次の問題です。

$(input.myselector).each()
于 2009-10-08T11:37:15.930 に答える
0

しない理由:

$('input[name="^text["]').filter('[name$="]"]')

フィルターに関数を使用せずに、それ以上に具体的にできるかどうかはわかりません。名前がテキストで始まるだけでおそらく問題なく、他の場所で別のIDを使用するようにしてください。

于 2009-10-08T11:37:10.903 に答える
0

map()次のようなもので使用します。

$("input[type=text]").map(function() {if ($(this).val() == 1) return $(this)})
于 2009-10-08T11:37:52.730 に答える