c# - 如何获取中继器内复选框的 ID

标签 c# asp.net javascript checkbox repeater

我有一个中继器,里面放了一个复选框,在中继器上方有一个 HTML 复选框,用于使用客户端 JavaScript 来检查/取消选中中继器内的复选框。 这是我的代码: 用于选中/取消选中的 JavaScript:

<script type="text/javascript">
    function selectAll() {

        for (i = 0; i < document.all.length; i++) {
            alert("Working");
            if (document.all[i].type == 'checkbox') {
                if (document.getElementById(cbSelectAll).Checked = true) {
                    //document.all[i].Checked = false;
                } else {
                    document.all[i].Checked = true;
                }
            }
        }
    }
</script>

中继器的 HTML 代码:

<div id="hdPropertyList" runat="server">
    <table border="0" cellpadding="0" cellspacing="0" class="navigation" width="100%">
        <tr>
            <td>
                <input type="checkbox" id="cbSelectAll" onchange="selectAll()" />
                <asp:Button runat="server" ID="btnContactAll" Text="Contact All" />
            </td>
            <td id="tdOrderBy" runat="server">
            </td>
            <td>
                <asp:Label ID="lblPage" runat="server" CssClass="pageList"></asp:Label>
            </td>
        </tr>
    </table>
</div>
<div class="boxleft SearchFeaturedlist" style="display: none">
    <h2>
        Featured Properties</h2>
</div>
<asp:Repeater ID="rptPropertyList" runat="server" EnableViewState="false" OnItemDataBound="rptPropertyList_ItemDataBound"
    OnLoad="rptPropertyList_Load">
    <ItemTemplate>
        <table id="propertyTable" runat="server" enableviewstate="false">
            <tr id="tbrLabel" runat="server" enableviewstate="false">
                <td id="tbcLabel" colspan="3" runat="server" enableviewstate="false">
                </td>
            </tr>
            <tr id="tbrTitle" runat="server" enableviewstate="false">
                <td id="tbcTitle" runat="server" enableviewstate="false">
                    <asp:CheckBox ID="ChkSelect" runat="server" /><span id="spnSelect" runat="server"></span>
                </td>
            </tr>
        </table>
        <div id="divAds" runat="server" visible="false" enableviewstate="false" style="width: 100%;
            overflow: hidden">
        </div>
    </ItemTemplate>
</asp:Repeater>

请在这方面帮助我。 提前致谢。

最佳答案

中继器的 ID 可通过其 ClientID 属性获得。

真的,您想问您是否需要这个。为什么不将转发器放在一个命名的 div 中,然后简单地查找其中驻留的具有 checkbox 类型的所有输入元素(getElementsByTagName 在这里会有所帮助)。

借助像 mootools 或 jQuery 这样的不错的 js 插件库,您将能够使用 CSS 选择器,这将使您的任务更加轻松。

这是 mootools 示例:-

function selectAllOrNone() 
{
    var myNewValue = $('selectall').innerText == "All" ? "None" : "All";
    var myCheckers = $$('input[type=checkbox]');

    $('selectall').innerText = myNewValue;

    myCheckers.each(
        function(e) {
            e.checked = (myNewValue == "None");
        }
    );
}

关于c# - 如何获取中继器内复选框的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2027373/

相关文章:

c# - SQLite 加密因平台而异

c# - ASP.NET 5 : How to reload strongly typed configuration on change

asp.net - http 处理程序在 MVC IIS 8.0 中不起作用

asp.net - dbo.TempGetStateItemExclusive3 重复调用

javascript - 我可以(在javascript中)编写一个自动应用于一种html标签的事件或函数吗?

c# - GridView 页脚不起作用

c# - 哪个日志实用程序适用于 C# 中的 .NET 应用程序(ASP.NET、WinForms)?

javascript - Highcharts标签格式化程序来查询mysql?

javascript - getElementById() 空错误

c# - "System.Speech.Recognition"命名空间在单声道框架中可用吗?