javascript - jQuery 中继器 + 附加在选择和刷新上
问题描述
我正在创建的发票编辑页面中使用 Jquery Repeater ( https://github.com/DubFriend/jquery.repeater )。中继器用于重复发票的项目(项目名称、价格和选择的税)。我们可以使用 ajax 表单添加新的 Tax。新税被添加到现有的项目列表中,但是一旦您单击添加项目,看起来中继器正在使用选择中第一个创建的选项集,而不是包含新创建选项的最后一个选项。
这是我正在使用的中继器代码
$(".invoice-item-repeater").length && $(".invoice-item-repeater").repeater({
show: function () {
$(this).slideDown(function () {
$('.tax').trigger('change', true);
})
}, hide: function (e) {
$(this).slideUp(e, function () {
$(this).remove();
calculate()
});
}
});
所有选定的税都属于 .tax 类
正如您在示例中看到的那样,在 ajax 表单上添加了 14% 税,并添加到前两组选择选项中,因为它们在创建新税时已经在 DOM 中,但是对于下一个添加的项目,我们没有新的 14% 税,只有 0%。
解决方案
我认为你应该触发每个元素。
$(this).slideDown(function () {
$('.tax').each(function (_, el) {
el.trigger('change', true);
});
});
推荐阅读
- sql - 多次插入失败后的 ORA-02049
- mpi - 让 OpenMp 的每个线程使用一个核心,当被 mpirun 启动时
- python - 如何将区分系列结果从熊猫数据框中的索引 0 添加到另一列?
- r - 我应该如何组织我的数据框以轻松比较特定组并绘制它们?
- mongodb - 是否可以使用 MongoDB 聚合将数组字段转换为行?
- regex - 正则表达式提取特定文本忽略部分结果
- mysql - 获得低于最高价格的所有条目和超过一个条目
- docker - VM 重启后 Docker 容器重启
- javascript - React - 将状态值从一个组件传递到另一个组件
- python - python嵌入,定义新类型,如何在c端创建新实例