javascript - RadioButton 更改 jquery 方法在 DOM 更改后不起作用?

标签 javascript jquery dom

我正在通过基于逻辑(费率、持续时间更改)的ajax更改单选按钮的html(单选按钮的名称相同)。在 DOM 更改之前 change(function(e) 方法工作完美,一旦 DOM 更改 change(function(e) 就不起作用。我做错了什么?

<tr>
        <td>
            <input type="radio" name="membershipTerm" checked="@yr1"  value="@membership.Year1RateCode">
        </td>
        <td>1 Year  Membership (@startDate to @Convert.ToDateTime(membership.CycleEndDate).Date.ToString("MMM yyyy"))</td>
        <td>1 Year</td>
        <td style="text-align: right">$<span class="membershipPrice">@membership.Year1Price</span> USD</td>
    </tr>


  $('input[type=radio][name=membershipTerm]').change(function(e) {
            var price = $(e.target).parent().parent().find("span").text();
            membershipData.updatemembershipPrice(price);

最佳答案

您需要使用事件委托(delegate)将事件附加到动态添加的 DOM 元素:

$(document).on('change','input[type=radio][name=membershipTerm]',function(e) {
        var price = $(e.target).parent().parent().find("span").text();
        membershipData.updatemembershipPrice(price);

关于javascript - RadioButton 更改 jquery 方法在 DOM 更改后不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38462090/

相关文章:

javascript - 使用js创建带有值的表

javascript - Vue.js 时间计数器

javascript - 使用 Ajax 请求 Rails Controller 数据

javascript - 如何找到最近的父组件?

javascript - 如何从 Kendo UI 模板获取值

asp.net - 加载子页面时禁用父页面

jquery - 如何确保 $(document).ready 在 jQuery.js 可用后运行?

javascript - 更改内联 SVG 的颜色

javascript在集合中按标题搜索节点并返回它

javascript - 为什么这个 Javascript DOM 代码只能在 FF 上运行,而不能在 IE 上运行?