选中ASP.Net Custom Checkbox属性

时间:2015-12-04 20:17:47

标签: javascript c# asp.net checkbox

所以最近我为我的一个学校项目开始了一个C#Asp.Net测验,但我遇到了以下问题:

我的index.aspx网站:

   <form runat="server" class="ac-custom ac-checkbox ac-boxfill" autocomplete="off" onload="Page_Load">

      <asp:CheckBox ID="q1a1" runat="server" Text="example answer" onclick="changeState(this);" />

   </form>

我在复选框中应用了onClick事件,该事件触发了(我测试了它)

changeState()

事件。但到目前为止,当我尝试更改它时,其中一个属性没有发生任何事情。

因此,对于自定义复选框,我使用此: (我希望没关系,我发布了一个链接引用。无论哪种方式,我都会这样做。

Reference for the custom animated Checkboxes

因此,当我单击该复选框时,自定义样式适用于它,但checked属性根本不会更改。所以我开始尝试使用Javascript,但没有解决方案。

我使用的javascript:

<script type="text/javascript">
    function changeState(caller) {
        if (document.getElementById(caller.id).checked)
        {
            document.getElementById(caller.id).checked = false;
        }
        else
        {
            document.getElementById(caller.id).checked = true;
        }
    }
</script>

我也读过某个地方,你可以使用类似的东西:

document.getElementById(caller.id).click();

更改检查状态。但这两件事对我没有帮助。 也许你们可以给我一些希望,非常确定它可以是一个简单的解决方案。但我愿意接受所有提示或改变。<​​/ p>

1 个答案:

答案 0 :(得分:0)

这个javascript是问题,你正在检查它是否被检查,然后将其设置为false,因此它取消选中它。

<script type="text/javascript">
    function changeState(caller) {
        if (document.getElementById(caller.id).checked)
        {
            document.getElementById(caller.id).checked = false;
        }
        else
        {
            document.getElementById(caller.id).checked = true;
        }
    }
</script>

我会使用像isCheckboxChecked这样的变量来保存复选框选中状态的值。