在我的网页上,我有一张桌子,每行都有一个单选按钮。所有行的单选按钮名称都是相同的,可以作为一组访问它们。我有一个按钮,提醒检查其单选按钮的行号。我也想访问该行表的各个元素。任何想法,如何我能够实现这一点将是非常受欢迎的。
这是问题的小提琴: http://jsfiddle.net/Gz668/13/
单击“edireq”按钮,它当前会警告其单选按钮被选中的行号。我想访问表中其他字段的值(请求者,批准者,状态等)。 这是jquery代码
$("#edireq")
.button()
.click(function () {
var ele = document.getElementsByName('reqradio');
var len = ele.length;
var flag = -1;
for (var j = 0; j < len; j++) {
if (ele[j].checked) {
flag = j;
}
}
if (flag > -1) {
alert("Row : " + (flag + 1));
} else {
alert("Select a row first");
}
});
感谢。
答案 0 :(得分:0)
你有一个奇怪的本机javascript和jQuery混合。您可以使用:checked
选择器获取所选的单选按钮,然后获取最接近的tr
并阅读该行中每个text
的{{1}}。试试这个:
td
});
答案 1 :(得分:0)
试试这个:
var list = ["Req id","Requestor","Approver","Status","Product","Version","Source","Destination"]; //list of title
if (flag > -1) {
$(".active").find("td:gt(0)").each(function(i){
console.log(list[i]+": "+$(this).text());
});
}
答案 2 :(得分:0)
我想出了以下内容: http://jsfiddle.net/Gz668/16/
$(document).ready(function () {
$("table").on("click", "tr", function(){
$(".active").removeClass("active");
$(this).toggleClass("active");
$(this).find("input[type='radio']").prop("checked", true);
});
$("#edireq").on("click", function(){
activeRow=$(".active");
cells=activeRow.children();
if(cells.length >0){
row={
select:cells[0],
requestId:cells[1],
requestor:cells[2],
approver:cells[3],
status:cells[4],
product:cells[5],
version:cells[5],
source:cells[6],
destination:cells[7]
};
alert(row.requestor.textContent);
}
})
});