如何使用JavaScript从客户端查找gridView中控件的值?
我有一个GridView,我想使用javascript在客户端根据控件的id查找控件的值。我有我正在单击的行的索引。现在我想找到一个列的值,该列在同一行中有一个标签如何使用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; //
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])执行相同的操作。如果这解决了您的问题,则标记为已解决