Javascript 如何在单击时获取未选中复选框的值?
我想在选中和取消选中单个复选框时获取其值。。我目前正在开发codeigniter FW。我在单击复选框时获取其值,但在单击时无法获取未选中复选框的值。请帮帮我!!我的代码如下Javascript 如何在单击时获取未选中复选框的值?,javascript,php,jquery,html,codeigniter,Javascript,Php,Jquery,Html,Codeigniter,我想在选中和取消选中单个复选框时获取其值。。我目前正在开发codeigniter FW。我在单击复选框时获取其值,但在单击时无法获取未选中复选框的值。请帮帮我!!我的代码如下 <table> <thead> <tr> <td></td> <td></td> <td></td> &
<table>
<thead>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<input name="feature" type="checkbox" id="10" value="10" />
</td>
<td>
<input name="feature" type="checkbox" id="11" value="11" />
</td>
<td>
<input name="feature" type="checkbox" id="12" value="12" />
</td>
<td>
<input name="feature" type="checkbox" id="13" value="13" />
</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
$("input:checkbox").change(function() {
var someObj = {};
someObj.fruitsGranted = [];
var feature , key;
$("input:checkbox").each(function() {
if ($(this).is(":checked")) {
key = someObj.fruitsGranted.push($(this).attr("feature"));
someObj.fruitsGranted.push($(this).attr("id"));
feature = $(this).attr("id");
//key = $(this).attr("feature");
}
});
alert("GRANTED: " + feature + " ok " + key);
});
</script>
$(“输入:复选框”).change(函数(){
var someObj={};
someObj.fructsgranted=[];
var特征,关键;
$(“输入:复选框”)。每个(函数(){
如果($(this).is(“:checked”)){
key=someObj.fruitsGranted.push($(this.attr(“feature”));
someObj.fruitsGranted.push($(this.attr(“id”));
feature=$(this.attr(“id”);
//key=$(this.attr(“feature”);
}
});
警报(“已授予:+功能+“确定”+键);
});
更改
功能将针对当前复选框的选中/取消选中执行。
因此,您可以在执行每个函数之前提取这些信息
$("input:checkbox").change(function() {
var someObj = {};
someObj.fruitsGranted = [];
var feature , key;
// you may extract all info from $(this) here on check/uncheck
alert("Checked " + $(this).is(":checked"));
// your rest code
});
你可能正在尝试做一些类似购物车的事情。简化你的逻辑
// Declare data variables outside
var someObj = {};
someObj.fruitsGranted = [];
// register event for all checkboxes
$("input:checkbox").change(function() {
var feature , key;
if ($(this).is(":checked")) {
// get key/value and push into declared object's array
// alert if needed : alert("GRANTED: " + feature + " ok " + key);
} else {
// on uncheck
// get key/value and remove from object's array
// alert if needed : alert("REVOKED: " + feature + " ok " + key);
}
});
要查找未选中的复选框值,可以尝试以下操作
<script type="text/javascript">
$("input:checkbox").change(function() {
var someObj = [];
$("input:checkbox").each(function() {
console.log($(this).prop('checked'));
if ($(this).prop('checked') === false) {
someObj.push({feature:$(this).attr('id'),key:$(this).val()});
}
});
console.log(someObj);
});
</script>
$(“输入:复选框”).change(函数(){
var someObj=[];
$(“输入:复选框”)。每个(函数(){
console.log($(this.prop('checked'));
if($(this).prop('checked')==false){
someObj.push({feature:$(this.attr('id'),key:$(this.val()});
}
});
console.log(someObj);
});
您的代码尝试似乎不符合您的要求<代码>$(“输入:复选框”).change(function(){if(!$(this).is(“:checked”){$(this).attr(“id”)…通过添加$(“输入:复选框”)。每个(
),您的键/功能将始终从最后一个复选框中删除。每个并使用$(this).is(:checked)
查看是否勾选了当前复选框。@freedomn-m感谢您的评论,但我需要在复选框未选中时获取其值。。当前,我在复选框未选中时获取其值。我不确定差异。change
会为选中/取消选中和触发,这将是复选框-因此$(this).val()
是该值,上面的链接和注释显示是否选中该值。