jQuery,复选框已选中
jQuery, checkbox checked
我有以下代码:
<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 发送它。
但是现在,我对每个复选框都有 1 个不同的警报,有没有办法在一个字符串中获取所有选中的值?
我听说过 .join(),但我真的不知道将它放在我的代码中的什么位置。仍然以 Javascript / jquery :/
开头
有什么想法吗?
谢谢,
孤独
声明一个数组并将所有值压入其中,示例:
var selected = [];
function displayVals() {
var checkedValues = $('input:checkbox:checked').each(function() {
selected.push(this.value);
});
}
var stringArray = selected.join();
使用array join将数组转换为字符串
试试这个
function displayVals() {
var names = $('input[type="checkbox"]:checked').map(function() {
return this.value;
}).get();
return names;
}
像 myform
这样的表单 ID 并简单地使用:
$('#myform').serialize();
Note: It will not give unchecked checkboxes values
如果您还想获得未选中的值,那么您需要在序列化之前明确设置未选中复选框的值为 false。
$('#myform').find(':checkbox:not(:checked)').attr('value', false);
尝试 select 每个调用的输入 = "type"。您必须像这样修改 displayVals 中的 input
标签
function displayVals() {
var checkedValues = $('input[name=type]:checked').map(function() {
alert(this.value);
});
Is there a way to get all the checked values in one string ?
在您的地图中,return 复选框值,然后使用 get()
从 jQuery 对象中检索 JavaScript 值数组。最后,使用join()
转换为逗号分隔的字符串。
var checkedValues = $('input:checkbox:checked').map(function() {
return this.value;
}).get().join(',');
结果将是(全部选中):
Club,Pub,Home,Concert
我有以下代码:
<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 发送它。 但是现在,我对每个复选框都有 1 个不同的警报,有没有办法在一个字符串中获取所有选中的值?
我听说过 .join(),但我真的不知道将它放在我的代码中的什么位置。仍然以 Javascript / jquery :/
开头有什么想法吗?
谢谢, 孤独
声明一个数组并将所有值压入其中,示例:
var selected = [];
function displayVals() {
var checkedValues = $('input:checkbox:checked').each(function() {
selected.push(this.value);
});
}
var stringArray = selected.join();
使用array join将数组转换为字符串
试试这个
function displayVals() {
var names = $('input[type="checkbox"]:checked').map(function() {
return this.value;
}).get();
return names;
}
像 myform
这样的表单 ID 并简单地使用:
$('#myform').serialize();
Note: It will not give unchecked checkboxes values
如果您还想获得未选中的值,那么您需要在序列化之前明确设置未选中复选框的值为 false。
$('#myform').find(':checkbox:not(:checked)').attr('value', false);
尝试 select 每个调用的输入 = "type"。您必须像这样修改 displayVals 中的 input
标签
function displayVals() {
var checkedValues = $('input[name=type]:checked').map(function() {
alert(this.value);
});
Is there a way to get all the checked values in one string ?
在您的地图中,return 复选框值,然后使用 get()
从 jQuery 对象中检索 JavaScript 值数组。最后,使用join()
转换为逗号分隔的字符串。
var checkedValues = $('input:checkbox:checked').map(function() {
return this.value;
}).get().join(',');
结果将是(全部选中):
Club,Pub,Home,Concert