使用jQuery将复选框值放入隐藏的输入中

Nic*_*ick 2 forms jquery

我想使用所选复选框的值填充隐藏的输入,并在这些值之间留一个空格.我已经尝试了以下理论应该可以工作的但不是......

JS:

$(document).ready(function () {


      var vals = $(':checkbox:checked').map(function(){
         return $(this).val();
      }).get().join(',');

      // save the values to a hidden field
      $('#tags').val(vals);


});
Run Code Online (Sandbox Code Playgroud)

HTML

 <form>

  <input type="checkbox" value="test1" id="test1"><label>Test</label>
  <input type="checkbox" value="test2" id="test2"><label>Test2</label>
  <input type="checkbox" value="test3" id="test3"><label>Test3</label>

  <input type="text" value="" id="tags">

</form>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Sus*_* -- 7

:checkbox 已弃用

代替

$(':checkbox:checked')
Run Code Online (Sandbox Code Playgroud)

使用

$('input[type="checkbox"]:checked')
Run Code Online (Sandbox Code Playgroud)

也没有checkboxes are checked什么时候document is Ready..首先设置它们然后尝试...

HTML

  <input type="checkbox" value="test1" id="test1" checked><label>Test</label>
  <input type="checkbox" value="test2" id="test2" checked><label>Test2</label>
  <input type="checkbox" value="test3" id="test3"><label>Test3</label>
  <input type="text" value="" id="tags">
Run Code Online (Sandbox Code Playgroud)

使用Javascript

function Populate(){
    vals = $('input[type="checkbox"]:checked').map(function() {
        return this.value;
    }).get().join(',');
    console.log(vals);
    $('#tags').val(vals);
}

$('input[type="checkbox"]').on('change', function() {
    Populate()
}).change();
Run Code Online (Sandbox Code Playgroud)

检查小提琴