Как получить идентификатор флажка, который находится внутри повторителя - PullRequest
0 голосов
/ 08 января 2010

У меня есть повторитель, внутри которого я поставил флажок, а над рапитер есть флажок 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>

Пожалуйста, помогите мне в этом. Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 08 января 2010

Идентификатор ретранслятора будет доступен через его свойство ClientID.

Действительно, вы хотите спросить, нужно ли вам это вообще. Почему бы не разместить ретранслятор внутри именованного элемента div, а затем просто найти все входные элементы, которые имеют тип checkbox , которые находятся внутри него (getElementsByTagName поможет здесь).

С приличной библиотекой аддонов js, такой как mootools или jQuery, вы сможете использовать селекторы 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");
        }
    );
}
1 голос
/ 12 января 2010

Я получил ответ, используя Jquery. Я использовал только флажок HTML, чтобы установить флажок Снимите все флажки на моей странице Asp.net.

<script type="text/javascript">
$(document).ready(function() {
    $('td.title_listing :checkbox').change(function() {
        $('#cbSelectAll').attr('checked', false);
    });
});
function CotactSelected() {
    var n = $("td.title_listing input:checked");
    alert(n.length);
    var s = "";
    n.each(function() {
        s += $(this).val() + ",";
    });
    window.location = "/D_ContactSeller.aspx?property=" + s;
    alert(s);
}

Спасибо "Paul Alan Tylor" за ваше руководство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...