2014-12-05 109 views
0

我有一个TabContainer控件中的gridview,它有一个复选框项。我正在触发JavaScript以显示一个警报,其中包含所选复选框的数量。关于选中复选框的标签更新

我现在想更新屏幕上的标签文本,并选中复选框的数量而不是显示警报,但我不知道如何引用标签。

查看下面的代码。想法或指向我一个类似的职位,将不胜感激。

<asp:Content ID="Content4" ContentPlaceHolderID="MasterContent" runat="server"> 

<script type="text/javascript"> 

    function CheckBoxCount() { 
     var gv = document.getElementById("<%= gv02ROLE.ClientID %>"); 
     var inputList = gv.getElementsByTagName("input"); 
     var numChecked = 0; 

     for (var i = 0; i < inputList.length; i++) { 
      if (inputList[i].type == "checkbox" && inputList[i].checked) { 
       numChecked = numChecked + 1; 
      } 
     } 
     alert(numChecked);    
     <<< set text value for ID="statusLabel1" to replace this alert >>> 
    } 
</script>   

<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0" AutoPostBack="true"> 
. 
<asp:TabPanel ID="TabREVROLE" runat="server" HeaderText="Open Review" Visible="false"> 
<ContentTemplate> 
    . 
    <asp:Label ID="statusLabel1" runat="server" Text=""></asp:Label> 


    <asp:GridView ID="gv02ROLE" runat="server" AllowPaging="True" 
         ShowHeaderWhenEmpty="True" AllowSorting="True" ShowHeader="true" 
     . 
     <asp:TemplateField HeaderText="Select" Visible="true" HeaderStyle-Width="10" 
         ItemStyle-Width="10"> 
         <ItemTemplate> 
          <asp:CheckBox ID="selCheck" runat="server" CssClass="mychk" 
            Checked="false" Enabled="true" 
            onClick="javascript:CheckBoxCount()"/> 
         </ItemTemplate> 
       </asp:TemplateField> 

回答

0

我简要地看到在这个最初的答案,使用此代码:

`document.getElementById('<%=statusLabel1.ClientID%>').innerHTML = numChecked` 

该解决方案的工作。谢谢

0
document.getElementById("statusLabel1").value = numChecked 
0

为什么不干脆:

function CheckBoxCount() { 
    var gv = document.getElementById("<%= gv02ROLE.ClientID %>"), 
     inputList = gv.querySelectorAll('input[type=checkbox]:checked'), 
     textProp = 'textContent' in document ? 'textContent' : 'innerText'; 

    document.getElementById('statusLabel1')[textProp] = inputList.length; 
} 

参考文献:

+0

我试过并收到错误:无法设置属性'textContent'的未定义或空引用。 – dev 2014-12-05 17:00:42

+0

我看到一篇早期的文章,推荐:document.getElementById('<%= statusLabel1.ClientID%>')。innerHTML = numChecked,这个工作。 – dev 2014-12-05 17:02:39