如何选中属于GridVIew的复选框?

时间:2011-10-03 16:29:44

标签: javascript gridview

我想做一个检查未选中复选框的javascript函数。我现在的功能,检查所有未选中的复选框,我需要只检查特定的GridView未选中复选框

function checar() {    
    var el = document.getElementsByTagName("input");
    for (var i = 0; i < el.length; i++) {
        if (el[i].type == "checkbox") {
            el[i].checked = true;
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您希望首先限制搜索元素的范围。一种方法是使用getElementById

function checar() { 
var grd = document.getElementById("<%=grd.ClientID%>"); // <-- Add this line
var el = grd.getElementsByTagName("input"); // <-- change the scope of this to grd
//rest of your code here.
}

使用div的示例,但您会想到我的想法:http://jsfiddle.net/8LRkk/

已编辑以包含设置特定网格ID。

答案 1 :(得分:0)

要获取特定网格视图的所有复选框,您需要获取其ClientID包含gridview ClientID部分的复选框,因为所有控件的ID都是“堆叠”

您的功能应该作为基础,它只需要添加一个检查:

function checar() {    
    var el = document.getElementsByTagName("input");

    // Get the client id of the gridview from ASP here
    var gvID = '<%= this.myGridview.ClientID %>';

    for (var i = 0; i < el.length; i++) {
        // Call the id of the checkbox and check to see if it
        // contains the client id of the gridview at the same time
        if (el[i].type == "checkbox" && el.id.indexOf(gvID) != -1) {
            el[i].checked = true;
        }
    }
}