我想使用所选复选框的值填充隐藏的输入,并在这些值之间留一个空格。我已经尝试过以下理论应该可以工作但不是......
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);
});
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>
有什么想法吗?
答案 0 :(得分:7)
:checkbox
已弃用
而不是
$(':checkbox:checked')
使用
$('input[type="checkbox"]:checked')
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">
<强>的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();
<强> Check Fiddle 强>
答案 1 :(得分:3)
您只需更改选择器并将脚本附加到某个事件即可。例如:
$('input[type=checkbox]').change(function() {
var vals = $('input[type=checkbox]:checked').map(function() {
return $(this).val();
}).get().join(',');
$('#tags').val(vals);
});
请参阅此DEMO。