【问题标题】:JavaScript CheckBox cant get the OnCheckChange to invoke a methodJavaScript CheckBox 无法获取 OnCheckChange 来调用方法
【发布时间】:2012-08-03 03:52:03
【问题描述】:

所以我有一个复选框,当它的 checkSate 发生更改时,我希望它调用一个方法。

这是我的复选框:

<tr><td><input type="checkbox" id="check2" name = "check2" Checked="True" runat="server" OnCheckedChanged="OnCheckedChangedMethod(count);">Sensor 1</input></td></tr>

然后在我的脚本中:

<script type="text/javascript">
    function OnCheckedChangedMethod(count) {
        document.getElementById('mc_comboView_players').innerHTML = "<h1>" + count + "</h1>";
    }
    /*other functions*/
</script>

我已经通过一个按钮调用了该方法,所以我知道它可以工作,只是没有被调用。

任何想法,我认为我有一些错误的语法,但无法弄清楚。

ps 我先看看别的地方

【问题讨论】:

  • javascript 事件被命名为change - 省略“checked”。
  • 是的,OnCheckChanged 是在更改 ASP.NET 复选框控件时要执行的服务器事件。由于您使用的是普通的 HTML 输入,因此您需要使用“onclick” - 不支持“onchange”以及“onclick”。
  • 我使用的是 asp:checkbox 但切换到 错过了事件更改,谢谢

标签: c# javascript checkbox


【解决方案1】:

使用 onchange 而不是 OnCheckedChanged 因为 OnCheckedChanged 不是用于复选框更改的 JavaScript 事件。

同时在OnCheckedChangedMethod 中传递一些valid 值,因为count 可能未定义

<input type="checkbox" id="check2" name = "check2" Checked="True" runat="server" onchange="OnCheckedChangedMethod(7);">

【讨论】:

  • 我认为 count 是您遇到问题的原因,因为 count 未在 call onchange="OnCheckedChangedMethod(count); 中定义;将其更改为 onchange="OnCheckedChangedMethod(7);告诉我它是怎么说的
  • 我试了又试,没有任何反应。尝试调用 refreshLayout();我添加的一个函数:function refreshLayout(){ document.write("

    REFRESHED LAYOUT

    ");} nothing...
  • 没关系,修复一切,不得不改变 OnCheckedChangedMethod(count); -> OnCheckedChangedMethod("+count+");它动态馈送到浏览器,感谢您的帮助!
【解决方案2】:

您还可以使用在复选框更改时触发的 JQuery Change 事件。在这里你可以找到工作example

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 2020-01-24
    • 2019-10-30
    • 2017-04-19
    • 2016-09-27
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多