11

動的に作成されたページがあります。次のようなIDを持つさまざまなラジオボタンを使用できます。

<input type="radio" id="cc-radio-opt-0" />
<input type="radio" id="cc-radio-opt-1" />
<input type="radio" id="gc-radio-opt-0" />
<input type="radio" id="gc-radio-opt-1" />

変更関数を作成するために、私は次のようなことをしています。

$('[id^=cc-radio-opt-]').live("change", function() {
    var idx = $(this).attr('id').split('-').pop(); 
});

これはうまく機能します。しかし、今、その変更関数内で、他の関連フィールドの束を非表示にする必要があります。それらは次のように名前が付けられます:

<input type="text" id="cc-number-0" />
<input type="text" id="cc-month-0" />
<input type="text" id="gc-number-0" />
<input type="text" id="gc-month-0" />
<input type="text" id="cc-number-1" />
<input type="text" id="cc-month-1" />
<input type="text" id="gc-number-1" />
<input type="text" id="gc-month-1" />

IDが「cc」で始まり、クリックされたラジオボタンと同じ番号で終わるすべてのフィールドを取得できる必要があります(idx変数によって決定されます。「cc」で始まるすべてのフィールドを取得できることはわかっています。これを行うことによって:

$('[id^=cc-]');

しかし、どうすれば彼らが何かidxで終わる必要があることを示すことができますか?言い換えれば、cc-radio-opt-1ラジオがクリックされた場合、どうすればとだけを取得できますcc-number-1cc-month-1

4

2 に答える 2

16

さて、あなたはほとんどそこにいました... $('[id^=cc-][id$=1]')

デモ:http://jsfiddle.net/pavloschris/nr3ad/

于 2013-03-20T17:19:26.360 に答える
4

「endswith」セレクターを使用してセレクターをフィルタリングします。

http://api.jquery.com/attribute-ends-with-selector/

$('[id^="cc-"]').filter('[id$="idx"');

そして、引用符を含めるようにしてください。

于 2013-03-20T17:18:54.217 に答える