HTML和Javascript,从多个复选框中获取文本

HTML和Javascript,从多个复选框中获取文本,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有三个支票箱。比如说, <input type="checkbox" name="vehicle" /><label>Car</label> <input type="checkbox" name="vehicle2" /><label>Truck</label> <input type="checkbox" name="vehicle3" /><label>Squirrel</label&g

我有三个支票箱。比如说,

<input type="checkbox" name="vehicle" /><label>Car</label>
<input type="checkbox" name="vehicle2" /><label>Truck</label>
<input type="checkbox" name="vehicle3" /><label>Squirrel</label>
汽车
卡车
松鼠
我试图做的是根据复选框是否被选中,使用javascript从这些复选框中获取文本。例如,如果只选中了第一个,那么我想创建一个字符串“Car”。如果检查了第二个和第三个复选框,则应为“卡车,松鼠”。如果三个都检查过,字符串应该是“汽车、卡车、松鼠”等

有没有一个简单的方法可以做到这一点

var $c = $('input[type="checkbox"]').on('change', function() {
   var s = $c.filter(':checked').map(function() {
               return this.nextElementSibling.innerHTML;
           }).get().join();
});
如果您不想收听更改事件:

function getCSV() {  
   return $('input[type="checkbox"]').filter(':checked').map(function() {
              return this.nextElementSibling.innerHTML;
          }).get().join();
}

这辆车开着吗('change',仅当其中一个复选框值发生更改时才设置变量?如果我想在任何给定时间编写一个函数来获取值字符串,我该怎么做?是的,应该触发更改事件,我将更新答案。感谢您在这方面的帮助。但是,当我调用该函数时,它总是返回未定义的值,无论是什么处于复选框状态的是。@user446836不客气,你能在中重现问题吗?原来我的问题是我没有在应用程序中使用标记,你的解决方案非常有效!!!谢谢。有没有一种超级简单的方法在每个逗号后加空格?