郑国聪的程序员之路

JS获取GridView各个控件的ID

获取gridview里面的各个控件的ID: 

首先在gridview 里面某个按钮注入JS onmouseover='<%#"ShowListMenu(this, "+Convert.ToInt32(Container.DataItemIndex+1)+",GetInnerHTML("+Container.DataItemIndex+"));"%>'> 

这个showlistmenu是显示一个DIV ,源码就不贴了 

 function GetInnerHTML(rowIndex) {
            var optionHTML = "<SPAN id=AddRow onClick=javascript:EditPosition(" + rowIndex + ") type='option' iconAltText>" + JS_MSG_EDIT_Position + "</SPAN>";
            optionHTML = optionHTML + "<SPAN onClick=javascript:DelPosition(" + rowIndex + ") type='option' iconAltText>" + JS_MSG_DELETE_Position + "</SPAN>";
            return optionHTML;
        } 

 

function EditPosition(rowIndex) {
debugger
    document.all(GridCmdIndex).value = rowIndex;
    var rowCount = parseInt(document.all(GridRowCount).value);
    for (var count = 0; count < rowCount; count++) {
        CancelEditPosition1(count);
    }
    var gridrow = parseInt(document.all(GridCmdIndex).value) + 2;
    var dtgridName = CombinateGridClientID(SGItem, gridrow, '');
    document.getElementById(dtgridName + "menuDown").style.display = "none";
    document.getElementById(dtgridName + "btnSave").style.display = "inline";
    document.getElementById(dtgridName + "btnCancel").style.display = "inline";
    document.getElementById(dtgridName + "txtPositionName").style.display = "inline";
    document.getElementById(dtgridName + "txtDepartmentID").style.display = "inline";
    document.getElementById(dtgridName + "imgGetDepartment").style.display = "inline";
    document.getElementById(dtgridName + "ddlSalaryTypeName").style.display = "inline";
    document.getElementById(dtgridName + "txtOvertimeLimit").style.display = "inline";
    document.getElementById(dtgridName + "txtMemo").style.display = "inline";


    document.getElementById(dtgridName + "lblPositionName").style.display = "none";
    document.getElementById(dtgridName + "lblDepartmentName").style.display = "none";
    document.getElementById(dtgridName + "lblSalaryTypeName").style.display = "none";
    document.getElementById(dtgridName + "lblOvertimeLimit").style.display = "none";
    document.getElementById(dtgridName + "lblMemo").style.display = "none";
}

function CombinateGridClientID(gridID,rowID,controlID)
{
    var strClientID=""
     if(rowID.toString().length==1)
    rowID="0"+rowID;
    strClientID=gridID+"_ctl"+rowID+"_"+controlID; 
    return strClientID;
}

 

PS:以上只是一些源码片段

posted on 2010-04-02 13:19  郑国聪  阅读(3056)  评论(0编辑  收藏  举报

导航