基于选中的单选按钮访问表行的元素

时间:2013-11-14 09:15:09

标签: javascript jquery

在我的网页上,我有一张桌子,每行都有一个单选按钮。所有行的单选按钮名称都是相同的,可以作为一组访问它们。我有一个按钮,提醒检查其单选按钮的行号。我也想访问该行表的各个元素。任何想法,如何我能够实现这一点将是非常受欢迎的。

这是问题的小提琴: 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");
    }
});

感谢。

3 个答案:

答案 0 :(得分:0)

你有一个奇怪的本机javascript和jQuery混合。您可以使用:checked选择器获取所选的单选按钮,然后获取最接近的tr并阅读该行中每个text的{​​{1}}。试试这个:

td

});

Example fiddle

答案 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());
    });
}

Fiddle here.

答案 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);
    }
})

});