0

在 aspx 页面中,我试图验证用户何时选中复选框,如果同一行的选择值具有某个值(默认值)以触发警报消息并取消选中复选框。我想在javascript中实现这一点以避免回发,但如果可能的话没有jquery。

<asp:ListView ID="lstView_retrievedIPPhones" runat="server" OnDataBound="lstView_retrievedIPPhones_DataBound" OnItemDataBound="lstView_retrievedIPPhones_ItemDataBound">
        <LayoutTemplate>
                    <table id="tbl1" runat="server" class="bordered">
                        <tr id="tr1" runat="server">
                            <th id="th1" runat="server"><asp:CheckBox ID="chkbox_checkAllRows" runat="server" OnClick="javascript:ToogleCheckAll(this.id)"/></th>
                            <th id="th9" runat="server">Sites</th>                                
                            <th id="th8" runat="server">Result</th>
                        </tr>
                        <tr id="ItemPlaceholder" runat="server">  
                        </tr>
                    </table>
                </LayoutTemplate>
                <ItemTemplate>
                    <tr>
                        <td><asp:CheckBox ID="chkbox_toConfigure" runat="server" OnClick="javascript:btnclick()" /></td>
                        <td>
                            <asp:DropDownList ID="dpdown_Site" runat="server"></asp:DropDownList>
                        </td>
                        <td><asp:Image ID="imgResultLastOp" tooltip= "" runat="server" /></td>
                    </tr>
                </ItemTemplate>

        <EmptyDataTemplate></EmptyDataTemplate>
    </asp:ListView>

在上面的代码中,当点击 chkbox_toConfigure 时,我想验证 DropDownList selectedvalue 不是默认值。

您的帮助将不胜感激。

4

2 回答 2

0

如果您知道下拉菜单的默认项目的值(例如这里的 -1),那么您可以检查单击复选框并提醒用户从下拉菜单中选择另一个项目:

在结束 ItemTemplate 标记之前添加此代码:</ItemTemplate>

<script>
function CheckSelectedItem() {
    var ddl = document.getElementById("<%# Container.FindControl("dpdown_Site").ClientID %>");
    var ddlValue = ddl.options[ddl.selectedIndex].value;
    if(ddlValue == "-1")
        alert("Select another item!");
}

document.getElementById("<%# Container.FindControl("chkbox_toConfigure").ClientID %>").onclick = function() {
    CheckSelectedItem();
    return false;
}
</script>

一些帮助

于 2013-09-20T21:46:07.370 回答
0

好吧,我最终做了以下代码:

<asp:CheckBox ID="chkbox_toConfigure" runat="server" OnClick='<%# "javascript:CheckSelectedItem(this.id," + ((ListViewDataItem)Container).FindControl("dpdown_Site").ClientID + ");" %>'/>

进入我的 javascript 部分:

    function CheckSelectedItem(checkboxID, dropdown) {
    var checkbox = document.getElementById(checkboxID);
    var dropdownValue = dropdown.options[dropdown.selectedIndex].text;
    if (dropdownValue == "<>") {
        alert("Please select a valid value");
        checkbox.checked = false;
    }
}
于 2013-09-23T05:11:56.107 回答