Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript listview如果选中了复选框并从下拉列表中选择了Value=x,则报警+取消选中_Javascript_Asp.net_Checkbox - Fatal编程技术网

Javascript listview如果选中了复选框并从下拉列表中选择了Value=x,则报警+取消选中

Javascript listview如果选中了复选框并从下拉列表中选择了Value=x,则报警+取消选中,javascript,asp.net,checkbox,Javascript,Asp.net,Checkbox,在aspx页面中,我试图验证用户何时选中复选框,如果同一行的select值具有特定值,则默认值将触发警报消息并取消选中复选框。我希望在javascript中实现这一点,以避免回发,但如果可能的话,不使用jquery <asp:ListView ID="lstView_retrievedIPPhones" runat="server" OnDataBound="lstView_retrievedIPPhones_DataBound" OnItemDataBound="lstView_retr

在aspx页面中,我试图验证用户何时选中复选框,如果同一行的select值具有特定值,则默认值将触发警报消息并取消选中复选框。我希望在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_进行配置时,我想验证DropDownList selectedvalue是否不是默认值


非常感谢您的帮助。

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

在ending ItemTemplate标记之前添加此代码:


我最终完成了以下代码:

<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;
    }
}

嗨,乌米尔,谢谢你的回答。非常感谢。在将代码插入my时,我遇到以下错误:“dpdown_站点”的名称在当前上下文中不存在对不起,您可以在repeater中执行此操作,在这里您可以使用,我已编辑了答案。非常感谢您的回答!它实际上工作得很好。我想问一下,如果我想把它放在我页面顶部的全局javascript部分,该怎么办?我在单击复选框时执行以下函数,并尝试了打击,但没有成功:函数checkSelectedItemChid{var ddl=document.getElementById;var ddlValue=ddl.options[ddl.selectedIndex].value;如果ddlValue==Alerts,请为IP电话选择一个站点;}您只需在此处创建一个函数,然后在onclick中,您必须为复选框和下拉列表传递ID,然后从参数中使用这些ID并删除以下内容:嗨,抱歉,我无法使其工作:javascript:ToogleCheckAllthis.ID,给我一个错误:服务器标记的格式不正确。
    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;
    }
}