Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript从客户端查找gridView中控件的值?_Javascript_Asp.net_Gridview - Fatal编程技术网

如何使用JavaScript从客户端查找gridView中控件的值?

如何使用JavaScript从客户端查找gridView中控件的值?,javascript,asp.net,gridview,Javascript,Asp.net,Gridview,我有一个GridView,我想使用javascript在客户端根据控件的id查找控件的值。我有我正在单击的行的索引。现在我想找到一个列的值,该列在同一行中有一个标签 function OnClientClickReplaceRewardRuleFile(link) { var row = link.parentNode.parentNode; var rowIndex = row.rowIndex - 1; //

我有一个GridView,我想使用javascript在客户端根据控件的id查找控件的值。我有我正在单击的行的索引。现在我想找到一个列的值,该列在同一行中有一个标签

     function OnClientClickReplaceRewardRuleFile(link) {

            var row = link.parentNode.parentNode;
            var rowIndex = row.rowIndex - 1;
//            alert("RowIndex: " + rowIndex);
            var lbl = document.getElementById('<%=GridViewMultiplePOSAssociationId.Rows[rowIndex].FindControl("LabelStatusPendingPOSId").ClientID %>');
            alert(lbl);
            return false;
}
函数OnClientClickReplaceRewardRuleFile(链接){
var row=link.parentNode.parentNode;
var rowIndex=row.rowIndex-1;
//警报(“行索引:+行索引”);
var lbl=document.getElementById(“”);
警报(lbl);
返回false;
}
它不起作用

aspx代码

   <asp:TemplateField HeaderStyle-Width="80px" ItemStyle-Width="250px" ItemStyle-HorizontalAlign="Center"
                                       HeaderText="Action">
                                       <ItemTemplate>
                                           <asp:LinkButton ID="HyperLinkAssociate" CommandArgument='<%#Eval("POS Id") %>'
                                               CommandName="Associate" Text="Associate" runat="server" OnClientClick="return OnClientClickAssociateRewardRuleFile(this);" CausesValidation="false"></asp:LinkButton>/<asp:LinkButton
                                                   ID="HyperLinkReplace" CommandArgument='<%#Eval("POS Id") %>' CommandName="Replace"
                                                   Text="Replace" runat="server" OnClientClick="return OnClientClickReplaceRewardRuleFile(this);" CausesValidation="false"></asp:LinkButton>
                                       </ItemTemplate>
                                   </asp:TemplateField >

/
我试过这个:

 function OnClientClickReplaceRewardRuleFile(link) {
            var row = link.parentNode.parentNode;
        var rowIndex = row.rowIndex - 1;
        var table = document.getElementById('<%=GridViewMultiplePOSAssociationId.ClientID %>');

        var lbls = document.getElementsByTagName('label');
        var spans = document.getElementsByTagName('span');

        for (var i = 0; i < lbls.length; i++) {
            if (lbls[i].id.indexOf('LabelStatusPendingPOSId') > 0) {
                if (rowIndex == i) {
                    if (lbls[i].innerText == 'Applied') {
                        alert('Action cannot be completed for this POS.');
                        return false;
                    }
                    break;
                }

            }
        }

        for (var i = 0; i < spans.length; i++) {
            if (spans[i].id.indexOf('LabelStatusPendingPOSId') > 0) {
                if (rowIndex == i) {
                    if (spans[i].innerText == 'Applied') {
                        alert('Action cannot be completed for this POS.');
                        return false;
                    }
                    break;
                }
            }
        }
}
函数OnClientClickReplaceRewardRuleFile(链接){
var row=link.parentNode.parentNode;
var rowIndex=row.rowIndex-1;
var table=document.getElementById(“”);
var lbls=document.getElementsByTagName('label');
var span=document.getElementsByTagName('span');
对于(变量i=0;i0){
如果(行索引==i){
if(lbls[i].innerText==“已应用”){
警报('无法完成此订单的操作');
返回false;
}
打破
}
}
}
对于(变量i=0;i0){
如果(行索引==i){
if(跨度[i].innerText==“已应用”){
警报('无法完成此订单的操作');
返回false;
}
打破
}
}
}
}
试试这个

  function OnClientClickReplaceRewardRuleFile(link) {
        var row = link.parentNode.parentNode;
        var table = document.getElementById('<%=GridView1.ClientID %>');

        var lbls = document.getElementsByTagName('label');
        var spans = document.getElementsByTagName('span');

        for (var i = 0; i < lbls.length; i++) {
            if (lbls[i].id.indexOf('LabelStatusPendingPOSId') > 0) {
                alert(lbls[i]);
                break;
            }
        }

        for (var i = 0; i < spans.length; i++) {
            if (spans[i].id.indexOf('LabelStatusPendingPOSId') > 0) {
                alert(spans[i]);
                break;
            }
        }

    }
函数OnClientClickReplaceRewardRuleFile(链接){
var row=link.parentNode.parentNode;
var table=document.getElementById(“”);
var lbls=document.getElementsByTagName('label');
var span=document.getElementsByTagName('span');
对于(变量i=0;i0){
警报(lbls[i]);
打破
}
}
对于(变量i=0;i0){
警报(跨度[i]);
打破
}
}
}

我应该写什么来代替您的LabelName?您应该写LabelStatusPendingPosidy您收到一条警告,表示代码找到了名为“LabelStatusPendingPOSId”的标签/span。请重试我已修改的代码如何获取此标签的文本?将警报(lbls[i])替换为警报(lbls[i].innerHTML)。对警报(跨度[i])执行相同的操作。如果这解决了您的问题,则标记为已解决