0

我正在尝试在 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/

4

4 回答 4

1

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

检查 萤火虫控制台

于 2012-12-30T09:02:17.540 回答
0

我查看了您导入的脚本。

它看起来非常过时,并且包含以下内容

inputs[a].onchange = Custom.clear;

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

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

  1. 删除这个可能只为静态页面制作的插件
  2. 将您自己的脚本放在正文末尾而不是标题内
于 2012-12-30T08:43:43.923 回答
0

你的代码看起来不错。 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");
});  
});
于 2012-12-30T08:45:30.950 回答
0

尝试这个

$(document).delegate("input[name=shipping]", "change", function() {
   alert('abc');
});
于 2012-12-30T09:02:54.733 回答