我有多组复选框,我希望将这些值复制到每个复选框的文本字段中。
我之前(下面)找到了一个很好的答案,但是当我想要获取组中的值时,这似乎只适用于表单中的所有复选框。我已尝试通过将自定义类分配给复选框组来应用此方法,以便我可以单独捕获它们,但是没有取得任何成功。
工作代码
$checks = $(":checkbox");
$checks.on('change', function () {
var string = $checks.filter(":checked").map(function(i,v){
return this.value;
}).get().join(", ");
$('#testField').val(string);
});
已经尝试过没有运气
$checks = $(".customClass");
$checks.on('change', function () {
var string = $checks.filter(":checked").map(function(i,v){
return this.value;
}).get().join(", ");
$('#testField').val(string);
});
答案 0 :(得分:1)
您只需使用$('.customClass:checked').get().map(e => e.value).join(', ')
:
$('.customClass:checked')
获取每个选中的复选框
.get()
从您的jQuery对象列表中获取NodeList
.map(e => e.value)
将您的NodeList
转换为值列表
.join(', ')
加入String
$('.customClass').on('change', () => {
$('#testField').val($('.customClass:checked').get().map(e => e.value).join(', '));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="customClass" value="1">
<input type="checkbox" class="customClass" value="2">
<input type="checkbox" class="customClass" value="3">
<input type="checkbox" class="customClass" value="4">
<input type="text" id="testField">