使用jQuery将Checkbox值组映射到输入字段

时间:2018-04-09 07:20:39

标签: jquery html checkbox

我有多组复选框,我希望将这些值复制到每个复选框的文本字段中。

我之前(下面)找到了一个很好的答案,但是当我想要获取组中的值时,这似乎只适用于表单中的所有复选框。我已尝试通过将自定义类分配给复选框组来应用此方法,以便我可以单独捕获它们,但是没有取得任何成功。

工作代码

$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);
    });

1 个答案:

答案 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">