Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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 勾选=“已勾选”;勾选“;单击一次目标复选框后不工作_Javascript_Html_Asp.net_Checkbox_Webforms - Fatal编程技术网

Javascript 勾选=“已勾选”;勾选“;单击一次目标复选框后不工作

Javascript 勾选=“已勾选”;勾选“;单击一次目标复选框后不工作,javascript,html,asp.net,checkbox,webforms,Javascript,Html,Asp.net,Checkbox,Webforms,我有以下GridView: <asp:GridView ID="gvSpecificRights" runat="server" AutoGenerateColumns="false" OnRowCreated="gvSpecificRights_RowCreated" CssClass="mGrid" ShowHeaderWhenEmpty="true" ShowFooter="true"> <Columns> <asp:BoundFiel

我有以下GridView:

<asp:GridView ID="gvSpecificRights" runat="server" AutoGenerateColumns="false" OnRowCreated="gvSpecificRights_RowCreated" CssClass="mGrid" ShowHeaderWhenEmpty="true" ShowFooter="true">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
        <asp:TemplateField HeaderText="Name">
            <ItemTemplate><asp:Label ID="lblName" runat="server" Text='<%# Bind("Name") %>'></asp:Label></ItemTemplate>
            <FooterTemplate><asp:DropDownList ID="ddlAvailableUsers" runat="server"></asp:DropDownList></FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Create" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
            <ItemTemplate><asp:CheckBox ID="cbTickCreator" runat="server" Checked='<%# Eval("TickCreator") %>' CssClass="clicknext"></asp:CheckBox></ItemTemplate>
            <FooterTemplate><asp:CheckBox ID="cbFooterTickCreator" runat="server" CssClass="clicknext"></asp:CheckBox></FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Read" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
            <ItemTemplate><asp:CheckBox ID="cbTickViewer" runat="server" Checked='<%# Eval("TickViewer") %>'></asp:CheckBox></ItemTemplate>
            <FooterTemplate><asp:CheckBox ID="cbFooterTickViewer" runat="server"></asp:CheckBox></FooterTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="btnSave" runat="server" Text="<i class='fa fa-floppy-o'></i>" OnClick="btnSave_Click" CommandArgument='<%# Eval("ID")%>'/>
            </ItemTemplate>
            <FooterTemplate>
                <asp:LinkButton ID="btnAdd" runat="server" Text="<i class='fa fa-plus'></i> Hinzufügen" OnClick="btnAdd_Click" />
            </FooterTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
你可能想知道为什么我两次使用.parentElement。这是因为如果您在复选框上应用css类,ASP.net将在复选框周围环绕一个
span

因此,如果我打开包含脚本的页面并单击“创建”-复选框,“读取”-复选框也会被选中,并且将被禁用。取消选中“创建”-复选框也可以正常工作:“读取”-复选框将
取消选中
重新启用

但是:一旦我手动选中了<代码>或<代码>未选中<代码>的“读取”-复选框一次,脚本将不再工作。它仍然可以启用/禁用“Read”复选框,还可以设置checked属性(在开发控制台上看到),但是浏览器(Firefox、Chrome)不会将其呈现为选中的

你知道我做错了什么吗?提前谢谢

---编辑---

为了澄清问题,下面是开发工具对复选框的输出:

<input id="MainContent_gvSpecificRights_cbTickViewer_0" name="ctl00$MainContent$gvSpecificRights$ctl03$cbTickViewer" checked="checked" disabled="disabled" type="checkbox">

禁用的
-属性由浏览器解释,但是如果我以前没有手动触摸它,选中的
属性将被解释。

尝试使用
.prop(“选中”,真)
.prop(“选中”,假)

我几天前在


设置checked属性时也要小心,不要将其删除。

当您选中复选框时,我猜您的表单正在回发?我100%确定没有回发。如前所述,F12开发控制台显示了正确的属性。但它没有按检查的方式呈现…这是什么样子的?小提琴对我也很有用。正如我所说的:只要我不会在页面加载后更改“Read”复选框一次,整个脚本就像一个符咒。仅当我至少手动更改了一次checkstatus时才会出现。仅供参考@CoastN。如果希望使用jquery解决方案,那么应该添加jquery标记。很多人只想要普通的javascript,而你的问题中没有任何东西表明jquery是一个可行的解决方案。他没有使用jquery
<input id="MainContent_gvSpecificRights_cbTickViewer_0" name="ctl00$MainContent$gvSpecificRights$ctl03$cbTickViewer" checked="checked" disabled="disabled" type="checkbox">