列表视图如果选中复选框并下拉选择值= x然后警告+取消选中

时间:2013-09-20 21:25:01

标签: javascript asp.net checkbox

在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不是默认值。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分: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>

Some help

答案 1 :(得分: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;
    }
}