Javascript 使用多个复选框值的字符串更改输入
我需要能够在输入标记中没有onclick的情况下设置onclick函数。下面的代码工作得很好,但是已经生成了输入标记,我无法向它们添加onclick事件。Jquery解决方案也不错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
函数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的可能重复,我花了一天的时间来解决这个。