当我选中左侧的框时,我想在输入字段中检索值,而当我取消选中它时,它将从该字段中删除该值。但是也应该是,当我选中多个复选框时,它会将所有值添加到输入字段中,并用逗号分隔数据。这怎么可能呢?这是我的代码。
我的JS
function checkedUsers() {
$("input[type='checkbox']:checked").each(
function () {
if (!$(this).is(':checked')) {
$('.product-message').val();
} else {
$('.product-message').val($(this).val());
}
});
}
我的tpl(聪明)
{foreach from=$familyUser item=user}
{if $user.active == 1 && {math equation="floor(age / 365)" age=$user.age} <= 16}
<div class="input-group mb-3">
<div class="input-group-prepend">
<div class="input-group-text">
<p>
<input type="checkbox" value="{$user.id_block_family}" id="userChecked" name="userChecked[]" onclick="checkedUsers();">
{$user.surname|escape:'htmlall':'UTF-8'} {$user.name|escape:'htmlall':'UTF-8'}
</p>
</div>
</div>
</div>
{/if}
{/foreach}
谢谢您的帮助。
答案 0 :(得分:1)
最简单的方法之一是每次都从仍处于选中状态的复选框中重建值。这样,您不必跟踪删除了哪个值。
function checkedUsers() {
//set the value to all the selected values, separated by a comma
$('.product-message').val(
$(":checkbox:checked").map(function(){ return this.value; }).get().join(', ')
);
}