如何让 jQuery 使用单选按钮识别更改


是否可以

让jquery在单击单选按钮时重新定位onChange?

我有 HTML 标记:

<div class="wf__jqAPcontrol[1] wf__hide wf__optional" style="display: block;">
<label>Additional Info</label>
<fieldset class="wf__list wf__jqAPhtml" enabled="enabled">
<fieldset class="vf__list vf__jqAPhtml" enabled="enabled">
<label for="specialDiscount[1]_529663" style="padding: 0 !important">
<input type="checkbox" value="-5.00" name="specialDiscount[1]" id="specialDiscount[1]_529663" class="wf__list jq__recomputeThisService" checked="checked"> Discount (5%)
</label>
</fieldset>
</div>

我有这个jquery代码(在结束标签之前在底部的页面上流动):

<script>
    $('.jq__recomputeThisService').change(function() {
    ...
    }); // end .change()
</script>

单击该复选框不会唤起 .change() 函数。只有 onclick() 才有可能吗?

如果是这样,我如何让鼠标按钮单击操作来调用我的 .change() 函数?

事件处理程序仅绑定到当前选定的元素;在代码进行事件绑定调用时,它们必须存在于页面上。

委托事件的优点是,它们可以处理以后添加到文档中的后代元素中的事件。

当您动态添加 HTML 时。

您需要使用事件委派。您必须使用委托事件方法的 .on()。

一般语法

$(document).on(event, selector, eventHandler);

理想情况下,您应该将document替换为最近的静态容器。

$(document).on('change', '.jq__recomputeThisService', function() {
});

使用 name 属性选择它

$("input[name='specialDiscount[1]']").change(function() {
});

或者,如果名称是动态创建的,则可以使用

 $("input[name^='specialDiscount']").change(function() {
  });

最新更新