-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

单击按钮并选择“仅”单选时,将.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();
}

您可以添加一些额外的逻辑来动态生成c1t1字符串以使其通用。

于 2012-07-01T12:51:05.393 回答