我有以下代码:
<form>
<input type="checkbox" name="type" value="Club" onclick="getselectedcheckbox()"checked/>Club<br/>
<input type="checkbox" name="type" value="Pub" onclick="getselectedcheckbox()" checked/>Pub<br/>
<input type="checkbox" name="type" value="Home" onclick="getselectedcheckbox()"/>Home<br/>
<input type="checkbox" name="type" value="Concert" onclick="getselectedcheckbox"/>Concert<br/>
<script>
function displayVals() {
var checkedValues = $('input:checkbox:checked').map(function() {
alert(this.value);
});
}
$( "select" ).change( displayVals );
displayVals();
</script>我正在尝试检查所有的复选框,然后用ajax发送它。但是现在,我对每个复选框都有一个不同的警告,是否有一种方法可以在一个字符串中获取所有选中的值?
我听说过.join(),但我不知道将它放在代码中的位置。仍然以Javascript / jquery :/
有什么想法吗?
谢谢,Loneept
发布于 2015-03-17 12:18:08
是否有一种方法可以在一个字符串中获取所有选中的值?
在映射中,返回复选框值,然后使用get()从jQuery对象检索值的JavaScript数组。最后,使用join()将其转换为逗号分隔的字符串。
var checkedValues = $('input:checkbox:checked').map(function() {
return this.value;
}).get().join(',');结果将是(所有检查):
Club,Pub,Home,Concert发布于 2015-03-17 12:12:30
声明数组并将所有值推入其中,例如:
var selected = [];
function displayVals() {
var checkedValues = $('input:checkbox:checked').each(function() {
selected.push(this.value);
});
}
var stringArray = selected.join();使用数组连接将数组转换为字符串
发布于 2015-03-17 12:17:11
给出一个类似于myform的表单id,然后简单地使用:
$('#myform').serialize();注意:它不会给出未选中的复选框值
如果还想获得未选中的值,则需要在序列化之前显式设置未选中checkboxe的值false。
$('#myform').find(':checkbox:not(:checked)').attr('value', false);https://stackoverflow.com/questions/29098733
复制相似问题