-1

私は次のHTMLを持っています

CHOICE 1
<input type="radio" name="c1" value="0" class="a"> Yes
<input type="radio" name="c1" value="1" class="a"> No
<input type="radio" name="c1" value="2" class="a"> Only <input type="text" id="t1" />
<br />
CHOICE 2
<input type="radio" name="c2" value="0" class="a"> Yes
<input type="radio" name="c2" value="1" class="a"> No
<input type="radio" name="c2" value="2" class="a"> Only
<input type="text" id="t2" />
<br />
CHOICE 3
<input type="radio" name="c3" value="0" class="a"> Yes
<input type="radio" name="c3" value="1" class="a"> No
<input type="radio" name="c3" value="2" class="a"> Only
<input type="text" id="t3"  />
<br />
<button>Press me</button>

選択したラジオボタンが「のみ」の場合、テキストボックスの値を取得したい。それを行う方法について何か考えはありますか?

これは私の現在のjQueryスクリプトです

var arr = new Array();
var rad;
var i = 0;
var id;
$('button').click(function(){

$('input[type="radio"]:checked').each(function(){
rad = $('input[type="radio"]:checked').val();
if(rad == 2){
id = this.id;
arr[i] = $('input[type="text"]#'+id).val();
}
else{
arr[i] = $(this).val();
}
i++;
});
alert(arr);
i = 0;
});

このスクリプトを使用すると、テキストボックスの値が繰り返されるだけです。「はい」と「いいえ」(0 と 1) の値は表示されません。

4

2 に答える 2

1

ボタンがクリックされ、「Only」ラジオが選択されたときに、 .next()入力フィールドの値をコンソールに出力します。

jsbin のデモ

  $("button").click(function(){
    $("input[type=radio]:checked").each(function(){
      if($(this).val() == 2) {
        console.log($(this).next("input[type=text]").val());
      }
    });
  });
于 2012-07-01T12:57:02.347 に答える
0

十分に単純です。

if ( jQuery("input[name='c1']:checked").val() === '2' ) {
    return jQuery("#t1").val();
}

c1およびt1文字列を動的に生成して汎用にするロジックを追加できます。

于 2012-07-01T12:51:05.393 に答える