我有一个每行都有一个单选按钮的表。
<table id="t1">
<tr><td><input type="radio" onclick="grab_row()" value=1></td><td>Data1<td>Data11</td></tr>
<tr><td><input type="radio" onclick="grab_row()" value=2></td><td>Data2<td>Data22</td></tr></table>
我想有一个函数来抓取通过无线电选择的行的值。
我的职能:
function grab_row () {
var radio = $("input[name=t1]:checked").val();
}
该功能仅获取当前所选的无线电ID。
例如,如果单击第一个单选按钮,则返回Data1和Data11。 感谢
答案 0 :(得分:0)
在使用返回多个元素的选择器时使用.val()
时,它只返回第一个元素的值。相反,您需要使用.each()
迭代它们。
var values = [];
$("input[name=t1]:checked").each(function(idx, val) {
//spin through and collect each val
values.push($(val).val());
})
console.log(values); //view values in console
答案 1 :(得分:0)
这应该是你的jQuery:
$("input[type=radio]").click(function () {
console.log($(this).val());
});
这应该是你的HTML:
<table id="t1">
<tr>
<td>
<input type="radio" name="foo" value="1" />
</td>
<td>Data1</td>
<td>Data11</td>
</tr>
<tr>
<td>
<input type="radio" name="foo" value="2" />
</td>
<td>Data2</td>
<td>Data22</td>
</tr>
</table>
<强> jsFiddle example 强>
请注意,您也可以使用$("input[name=foo]")
代替$("input[type=radio]")
。
答案 2 :(得分:0)
以下是我对你要找的内容的解释
<强> HTML 强>
<table>
<tr>
<td>
<input type="radio" value="1" name="myradio" />
</td>
<td>Data1</td>
<td>Data11</td>
</tr>
<tr>
<td>
<input type="radio" value="2" name="myradio" />
</td>
<td>Data2</td>
<td>Data22</td>
<td>Data222</td>
</tr>
<强> JS 强>
$("input:radio[name=myradio]").click(function () {
var myvals = [];
var elem = $(this).parent().next();
while (elem.prop("tagName") == "TD") {
myvals.push(parseInt(elem.html().substring(4)));
elem = elem.next();
}
console.log(myvals);
});
我假设您只需要“数据”字符串后面的整数,但是您可以只使用.html()获取TD元素的全部内容,并省略.substring(4)