我正在通过基于逻辑(费率、持续时间更改)的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/