jquery - 如何通过获取 div 父类而不是输入来触发
问题描述
这是我的表单和脚本,其中数据是从输入名称触发的。我想触发这个函数,其中 div 类有 kg 而不是输入名称
我该怎么做?
$(document).on('change paste keyup', "input[name='kg[]']", function() {
updatedynamicprice($(this));
});
function updatedynamicprice(selector) {
let kg = $("input[name='kg[]']").val();
let total_price = 100 * kg;
$("input[name='price[]']").val(total_price);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="kg">
<input type="number" name="kg[]" id="input-kg" class="form-control">
</div>
<div class="form-controller">
<input type="number" name="price[]" id="input-kg" class="form-control">
</div>
解决方案
使用最近的和容器导航
提供可以重复使用的课程
$(document).on('change paste keyup', function(e) {
const $parent = $(e.target).closest(".container");
let qty = $(".qty",$parent).val();
let total_price = 100 * qty;
$(".price",$parent).val(total_price);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
<div class="kg">
<input type="number" name="kg[]" class="qty" class="form-control">
</div>
<div class="form-controller">
<input type="number" name="price[]" class="price" class="form-control">
</div>
</div>
<hr/>
<div class="container">
<div class="pounds">
<input type="number" name="pounds[]" class="qty" class="form-control">
</div>
<div class="form-controller">
<input type="number" name="price[]" class="price" class="form-control">
</div>
</div>
推荐阅读
- rust - 是否可以创建一个自定义派生来防止编译时类型之间的循环?
- c# - Unity:第二次触摸根本不起作用。如何修复此错误?
- javascript - 如何使用 javascript 将 Blur 事件触发到窗口
- mongodb - 无法使用命令“go get go.mongodb.org/mongo-driver/mongo”获取 mongo-go 驱动程序
- java - 我无法让任何 indexOf() 函数为我编写的这段代码工作
- python - 正则表达式查找除特殊字符之间的所有单词之外的所有单词
- spring-boot - 在春季启动中使用@Onetomany @JoinColumn 进行一对多关联?
- android - BuildConfig定义多次,Gradle Test Build报错
- c++11 - 为自定义地图值多次调用复制构造函数
- rxjs - Rx JS 等待,直到所有订阅者都解决了 Promise