Jquery 无法获取未选中复选框的值

Jquery 无法获取未选中复选框的值,jquery,checkbox,Jquery,Checkbox,首先,不要将此视为重复,因为我在询问之前做了一些尝试和错误以及研究。我打算发布jquery中包含未选中复选框的值。我已经尝试了很多方法,但由于代码的结构或其他原因,仍然无法让它正常工作。以下是我当前尝试的一种尝试: 函数切换_tip(){} $('l#u sync_ul')。单击(函数(){ if($('#l#u sync_ul').prop(“选中”)==未定义){ $('l#u sync_ul')。在('')之后 }否则{ $('l#u sync_ul').next().remove();

首先,不要将此视为重复,因为我在询问之前做了一些尝试和错误以及研究。我打算发布jquery中包含未选中复选框的值。我已经尝试了很多方法,但由于代码的结构或其他原因,仍然无法让它正常工作。以下是我当前尝试的一种尝试:

函数切换_tip(){}
$('l#u sync_ul')。单击(函数(){
if($('#l#u sync_ul').prop(“选中”)==未定义){
$('l#u sync_ul')。在('')之后
}否则{
$('l#u sync_ul').next().remove();
}
});

您只需
。prop(“checked”)
将返回
true
false
。当您使用jQuery时,我建议您使用它直接绑定
change
事件处理程序

$('l#u sync_ul')。更改(函数(){
如果(!this.checked){
$(此)。在(“”)之后
}否则{
$(this.next().remove();
}
});

*只需忽略“onclicks”属性,因为我使用它来切换表。*
您只需
。prop(“checked”)
将返回
true
false
。当您使用jQuery时,我建议您使用它直接绑定
change
事件处理程序

$('l#u sync_ul')。更改(函数(){
如果(!this.checked){
$(此)。在(“”)之后
}否则{
$(this.next().remove();
}
});

*只需忽略“onclicks”属性,因为我使用它来切换表。*
$('l#u sync_ul')。prop(“checked”)
本身是一个布尔值,不需要检查
未定义的

您可以使用
.change
事件侦听器跟踪
复选框

函数切换_tip(){}
$(文档).ready(函数(){
$('l#u sync_ul')。单击(函数(){
如果($('l#u sync_ul').prop(“选中”)){
控制台日志(“已检查”);
$('l#u sync_ul')。在('')之后
}否则{
控制台日志(“未检查”);
$('l#u sync_ul').next().remove();
}
});
});

$(“#l_sync_ul”).prop(“选中”)
本身是一个布尔值,无需检查
未定义的

您可以使用
.change
事件侦听器跟踪
复选框

函数切换_tip(){}
$(文档).ready(函数(){
$('l#u sync_ul')。单击(函数(){
如果($('l#u sync_ul').prop(“选中”)){
控制台日志(“已检查”);
$('l#u sync_ul')。在('')之后
}否则{
控制台日志(“未检查”);
$('l#u sync_ul').next().remove();
}
});
});

不能100%确定您想要什么,但这样会更好

$('l#u sync_ul')。单击(函数(){
如果(!$(this).is(“:checked”)){
$(此)。在(“”)之后
}否则{
$(this.next().remove();
}
});

不能100%确定您想要什么,但这样会更好

$('l#u sync_ul')。单击(函数(){
如果(!$(this).is(“:checked”)){
$(此)。在(“”)之后
}否则{
$(this.next().remove();
}
});

根据最新编辑,我替换了
$(this).next().remove();使用$('input[value=off]')。删除()
,因此它将删除
value=off
的任何元素。它可能在某些情况下起作用,反之亦然。请看这里:

剧本

$(':checkbox')。更改(函数(){
如果(!this.checked){
$(此)。在(“”)之后
}否则{
$('input[value=off]')。删除();
}
});

HTML


根据最新编辑,我替换了
$(this).next().remove();使用$('input[value=off]')。删除()
,因此它将删除
value=off
的任何元素。它可能在某些情况下起作用,反之亦然。请看这里:

剧本

$(':checkbox')。更改(函数(){
如果(!this.checked){
$(此)。在(“”)之后
}否则{
$('input[value=off]')。删除();
}
});

HTML



没有得到你想要的。请再解释一下,对不起@mplungjan,既然我是为了其他目的而使用,是否有必要修改“onclicks”;切换表显示?@MuhamamdUsman此问题旨在获取发布在取消选中上的复选框值。如果选中将发布“开”,那么我希望取消选中将显示“关”。但是这些东西就是不发送。如果不检查,它就不会发送。如果您使用的是Ajax,请在服务器上或在Ajax中处理ajax@mplungjan我试过几种方法,但都不管用。我不确定是否需要在ajax成功函数中执行此操作,或者声明另一个函数并将其声明为ajax成功函数。没有得到您想要的。请再解释一下,对不起@mplungjan,既然我是为了其他目的而使用,是否有必要修改“onclicks”;切换表显示?@MuhamamdUsman此问题旨在获取发布在取消选中上的复选框值。如果选中将发布“开”,那么我希望取消选中将显示“关”。但是这些东西就是不发送。如果不检查,它就不会发送。如果您使用的是Ajax,请在服务器上或在Ajax中处理ajax@mplungjan我试过几种方法,但都不管用。我不确定是否有必要在ajax成功函数中执行此操作,或者声明另一个函数并将其声明为ajax成功函数。如果之前选中了复选框,则此操作有效。但如果之前不检查,它将无法工作。我注意到了这一点。如果之前选中了复选框,它就起作用了。但如果之前不检查,它将无法工作。我注意到了这一点。
$(':checkbox').change(function() {
  if (!this.checked) {
    $(this).after('<input type="hidden" name="' + $(this).attr("name") + '" value=off>')
  } else {
    $('input[value=off]').remove();
  }
});
<input type="hidden" name="l_sync_ul" value=off>
<input type="checkbox" name="l_sync_ul" id="l_sync_ul" onclick="toggle_tip('ul_dept')">