以下代码将来自html表格的复选框的行信息存储到数组中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script>
function myFunc() {
var myValues = new Array();
$.each($("input[name='selection[]']:checked").closest("td").siblings("td"),
function () {
myValues.push($(this).text());
});
alert("values: " + myValues.join(" "));
}
</script>
<table border="2">
<tr>
<th>Select</th>
<th>ID</th>
<th>NAME</th>
<th>JOB</th>
</tr>
<tr>
<td align="center"><input type="checkbox" class="selection" name="selection[]"></td>
<td>11</td>
<td>John</td>
<td>Doctor</td>
</tr>
<tr>
<td align="center"><input type="checkbox" class="selection" name="selection[]"></td>
<td>102</td>
<td>Anne</td>
<td>Pilot</td>
</tr>
<tr>
<td align="center"><input type="checkbox" class="selection" name="selection[]"></td>
<td>203</td>
<td>Laura</td>
<td>Teacher</td>
</tr>
</tr>
</table>
<input type="button" value="get it" onclick="javascript:myFunc(); return false;">
现在我需要在逗号分隔的字符串中选择id(如果选中的所有复选框都是:str1="11,102,203";
)
ids加上另一个字符串中所选行中的其余信息(如果选中的所有复选框都是:str2 = "11, John, Doctor,102, Anne,Pilot, 203, Laura, Teacher";
)。
我不知道怎么做。我正在考虑为myValues数组添加键,但我不知道它是否是一个好方法(并且不知道如何做到这一点......对于jquery来说太新了:()
答案 0 :(得分:0)
虽然我不确定你想要2个字符串的样子,但我已经为你创建了一个演示 在所选行中获取不同的值。 我建议你循环选中复选框td并使用next()函数获取行中的不同值。
$.each($("input[name='selection[]']:checked").closest("td"),function (index,item) {
...
});
JS小提琴演示 http://jsfiddle.net/kTDPK/
对于字符串输出,请检查浏览器的控制台。