Javascript 使用多个复选框值的字符串更改输入

Javascript 使用多个复选框值的字符串更改输入,javascript,jquery,checkbox,input,onclick,Javascript,Jquery,Checkbox,Input,Onclick,我需要能够在输入标记中没有onclick的情况下设置onclick函数。下面的代码工作得很好,但是已经生成了输入标记,我无法向它们添加onclick事件。Jquery解决方案也不错 函数setValue(){ var val=“”; var frm=document.getElementById(“form1”); var cbs=document.getElementById(“form1”)[“便利设施[]”; 对于(var n=0;n您可以尝试以下方法: $('input[type=ch

我需要能够在输入标记中没有onclick的情况下设置onclick函数。下面的代码工作得很好,但是已经生成了输入标记,我无法向它们添加onclick事件。Jquery解决方案也不错

函数setValue(){
var val=“”;
var frm=document.getElementById(“form1”);
var cbs=document.getElementById(“form1”)[“便利设施[]”;
对于(var n=0;n您可以尝试以下方法:

$('input[type=checkbox]').change(function() {
    //logic goes here
});
//将更改处理程序附加到表单。
//“更改”事件将弹出到父级
var$form=$('#form1')。on('change',function(){
//设置textname的值
$form.find('[name=“textname”]').val(
//选中所有复选框并将其所有值映射到一个数组
$form.find(':checkbox:checked').map(函数(){
//返回每个选中元素的值
返回此.value;
}).get()//使用get()获取基本数组,而不是jQuery对象
);
});

普通JS:

    var mForm = document.getElementById("form1");
    mForm.addEventListener("click", function(event){
        console.log("clicked", event.toElement); // do whatever you want with this element, add condition to sort checkboxes only
    });
更新:

var frm = document.getElementById("form1");
var cbs = document.getElementById("form1")['amenities[]'];

function setValue(frm, cbs){
   var output = [];

   for( var n in cbs){
        if(cbs[n].checked){
            output.push(cbs[n].value);
        }
   }

   frm.textname.value=output.join();
}

frm.addEventListener("click", function(event){
    if (event.toElement.type == "checkbox") {
        setValue(frm, cbs);
    }
});
使用
.map()
函数

$(“.checkbox”).change(函数(){
$(“#text”).val($('.checkbox:checked').map(function(){return this.value;}).get().join(',');
});

Thank you’s Thank you’s Thank you’s Thank you’s Thank you’s Thank you’s Thank you’s Thank you’s Thank you’s Thank you’s Thank you’s Thank的可能重复,我花了一天的时间来解决这个。