【问题标题】:jquery & radio buttonjquery & 单选按钮
【发布时间】:2012-12-30 17:13:08
【问题描述】:

我正在尝试在 jquery 中做一个非常简单的事情,但它不起作用。

我有这个单选按钮:

<input type="radio" id="price" name="shipping" class="styled" />

在 Head 我有这个代码:

$(document).ready(function() {

$("input[name=shipping]").change(function() {
    alert("123");
});

});

我的代码有什么问题?

也许是因为我正在使用“自定义复选框和单选按钮”? http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/

【问题讨论】:

  • Your code is OK。我不知道这个插件。你试过没有class=styled 吗?您是否在 脚本之前导入 jQuery?
  • 我认为插件在收音机上有绑定事件;)我是对的,插件在单选按钮上有绑定事件
  • 我认为插件不会删除现有绑定(jQuery 使用 addEventListener 并且不会删除现有绑定)。那将使它毫无用处。
  • 请补充,完整代码;)
  • 你在这个脚本之前添加了 jquery 库吗?

标签: php javascript jquery html ajax


【解决方案1】:

您的代码正确,但问题可能来自另一个地方。

检查 firebug 控制台

【讨论】:

    【解决方案2】:

    您的代码看起来不错。 JS-BIN Demo 确保为单选按钮提供相同的名称:

    <div>
      <input type="radio" id="price1" name="shipping" class="styled" />
      <input type="radio" id="price2" name="shipping" class="styled" />
    </div>
    

    您的代码将起作用。

    另一种方法是使用点击而不是更改:

    $(document).ready(function() {
    $("input[name=shipping]").click(function() {
        alert("123");
    });  
    });
    

    【讨论】:

      【解决方案3】:

      我查看了您导入的脚本。

      它看起来非常过时,并且包含类似的东西

      inputs[a].onchange = Custom.clear;
      

      这会删除您之前添加的事件侦听器。

      我的建议是,按偏好顺序排列:

      1. 删除这个可能只用于静态页面的插件
      2. 将您自己的脚本放在正文末尾而不是标题内

      【讨论】:

      • 请看我上面的评论。
      【解决方案4】:

      试试这个

      $(document).delegate("input[name=shipping]", "change", function() {
         alert('abc');
      });
      

      【讨论】:

        猜你喜欢
        • 2011-06-30
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-31
        • 2017-10-18
        • 1970-01-01
        相关资源
        最近更新 更多