单选按钮更改事件未触发

时间:2015-01-20 14:16:29

标签: jquery ajax wordpress-plugin

我有这个html是根据我们数据库中的数据动态创建的。我正在尝试创建一个向导,以便当用户单击单选按钮时,我使用ajax调用webservice,并创建另一个单选按钮列表供用户选择。初始页面加载工作正常,但是当我创建动态单选按钮列表时,我遇到了触发事件的问题。我是否必须重新加载文档或特定div才能使其生效?

我想在选择其中一个单选按钮时捕获“更改”事件。下面的jQuery没有捕获事件。关于我做错了什么的任何建议?

HTML:

<input name="productModel" id="Basic-jacketCustom" type="radio" value="Basic jacket"><label for="Basic-jacketCustom">Basic jacket</label>
<input name="productModel" id="Platinum-jacketCustom" type="radio" value="Platinum jacket"><label for="Platinum-jacketCustom">Platinum jacket</label>
<input name="productModel" id="Platinum-Pro-jacketCustom" type="radio" value="Platinum Pro jacket"><label for="Platinum-Pro-jacketCustom">Platinum Pro jacket</label>
<input name="productModel" id="Riding-jacketCustom" type="radio" value="Riding jacket"><label for="Riding-jacketCustom">Riding jacket</label>

jQuery的:

$('input[name="productModel"]').change(function() {    alert("Event
 Fires"); });

1 个答案:

答案 0 :(得分:7)

“动态创建”是什么意思?你是否在页面加载后将输入推送到dom?如果是,则必须使用Event Delegation。请尝试以下示例:

$('body').on('change', 'input[name="productModel"]', function() {
  alert("Event Fires");
});