将逗号添加到复选框数组文本输出
Add Commas to checkbox array text Output
我需要 "," 值之间(逗号或换行符)
现在输出:ab
预期输出:a,b
我只是不确定具体放在哪里。我每次在开始或结束时都会得到一个额外的逗号,比如 ",a,c" OR "a,c,"。
$('.check').click(function() {
$("#text").val('');
$(".check").each(function() {
if ($(this).prop('checked')) {
$("#text").val($("#text").val() + $(this).val());
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="a" class="check" id="a" value="a"><label for="a"> a</label><br>
<input type="checkbox" name="b" class="check" id="b" value="b"><label for="b"> b</label>
<br>
<input type="checkbox" name="c" class="check" id="c" value="c"><label for="c"> c</label><br>
<input type="text" name="text" id="text">
我建议选中所有复选框,filtering to only checked boxes, mapping values to an array, and joining 逗号数组。
let $checks = $('.check');
$checks.on('click', function() {
let values = $checks
.filter(':checked')
.map((k, box) => box.value)
.toArray()
.join(',');
$("#text").val(values);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="a" class="check" id="a" value="a"><label for="a"> a</label><br>
<input type="checkbox" name="b" class="check" id="b" value="b"><label for="b"> b</label>
<br>
<input type="checkbox" name="c" class="check" id="c" value="c"><label for="c"> c</label><br>
<input type="text" name="text" id="text">
另见 jQuery get values of checked checkboxes into array。
我需要 "," 值之间(逗号或换行符)
现在输出:ab
预期输出:a,b
我只是不确定具体放在哪里。我每次在开始或结束时都会得到一个额外的逗号,比如 ",a,c" OR "a,c,"。
$('.check').click(function() {
$("#text").val('');
$(".check").each(function() {
if ($(this).prop('checked')) {
$("#text").val($("#text").val() + $(this).val());
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="a" class="check" id="a" value="a"><label for="a"> a</label><br>
<input type="checkbox" name="b" class="check" id="b" value="b"><label for="b"> b</label>
<br>
<input type="checkbox" name="c" class="check" id="c" value="c"><label for="c"> c</label><br>
<input type="text" name="text" id="text">
我建议选中所有复选框,filtering to only checked boxes, mapping values to an array, and joining 逗号数组。
let $checks = $('.check');
$checks.on('click', function() {
let values = $checks
.filter(':checked')
.map((k, box) => box.value)
.toArray()
.join(',');
$("#text").val(values);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="a" class="check" id="a" value="a"><label for="a"> a</label><br>
<input type="checkbox" name="b" class="check" id="b" value="b"><label for="b"> b</label>
<br>
<input type="checkbox" name="c" class="check" id="c" value="c"><label for="c"> c</label><br>
<input type="text" name="text" id="text">
另见 jQuery get values of checked checkboxes into array。