我有一个脚本,可以在输入标记的value()
中插入选中的checbox和无线电。
var burgernavn = meat + " with " + bread + " and " + onion + tomato + cheese + salad;
$('#burger-navn').val(burgernavn);
Onion, tomato, cheese and salad
需要1" "他们之间,除了最后两个需要"和"它们之间。
这是第一件事。
第二件事是这些变量代表复选框,因此它们可以是未定义的,在这种情况下它们不应放入$('#burger-navn').val()
。它们都可以是未定义的,在这种情况下没有逗号或"和"应该放进去。
我希望这是可以实现的。
答案 0 :(得分:2)
var checkedValues = document.getElementsByClassName('checkbox');

var commaValues = "", otherValues= "";
//we are iterating only until (total values -2)
for(var i = 0; i < checkedValues.length - 2 ; i++){
//append comma with each value
commaValues += checkedValues[i].concat(",");
}
//append 'And' for last two values if total valuesa re more than one
if(checkedValues.length > 1){
otherValues = checkedValues[checkedValues.length-1].concat("and", checkedValues[checkedValues.length])
}
else if(checkedValues.length == 1){
otherValues = checkedValues[0];
}
//finally concat both strings and put this concated string in input
$('#burger-navn').val(otherValues.concat(commaValues));
&#13;
所以,我希望你有这个主意。此代码段可能需要稍微调整,因为我没有您的HTML代码和示例数据,但使用此代码段作为参考很容易实现。干杯
答案 1 :(得分:1)
使用jQuery $.map.
var checkboxes = $('input:checkbox');
var commaString = $.map($('input:checkbox'), function( ele, i ) {
return $(ele).val() + (i + 2 == checkboxes.length ? " and" : (i + 1 != checkboxes.length) ? ",": "");
}).join(" ");