使用 jQuery 更改文本输入值

Change text input value with jQuery

我正在制作新闻通讯联系表,用户可以在该表格中勾选他们希望从中接收新闻通讯的主题。

我想做一个文本输入,它的值将是所有选中框的值,用逗号分隔。

例如:零售、新闻、制造

我希望它是动态的,当用户选中一个框时它会同时出现在文本输入中,而当用户取消选中该框时它也会同时消失,所以我认为 jQuery是最简单的方法,我就是不知道怎么做。

有什么想法吗?

谢谢!

$('#my-form').on('change', 'input[type="checkbox"]', function(){
    var vals = [];
    $('#my-form').find('input[type="checkbox"]').each(function(){
         if($(this).checked())){
             vals.push($(this).val());
         }
    });
    $('#my-input').val(vals.join(', '));
});

-- 例如

是这样的吗? (参见 demo here

$('input').on('change', function(){
   var res = "";

   $('input:checked').each(function(){
       res += $(this).val()+", ";
   });

   res = res.slice(0,-2);
   $('#result').text(res);
});

以下将 return 一个字符串,其中所有复选框的值以逗号分隔。

var allChecked = $('input[type="checkbox"]:checked').map(function(){
    return this.value
}).get().join(', ');

是这样的吗?

$(document).ready(function() {
    $('.check').on('change', function() {
        var displayVal = '';
        $('.check:checked').each(function() {
            displayVal += $(this).val() + ', ';
        });
        displayVal = displayVal.slice(0,-2);
        $('.display').val(displayVal);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" class="check" value="blue"/> blue<br/>
<input type="checkbox" class="check" value="red"/> red<br/>
<input type="checkbox" class="check" value="white"/> white<br/>
<br/>
<input type="text" class="display" />