当前位置: 首页 > 知识库问答 >
问题:

选中复选框,但:选中不起作用

田焕
2023-03-14

我有几个复选框。基于JSON响应(通过ajax-requests加载数据),我使用.prop()函数设置和重置复选框的默认值。问题是,如果我手动改变它们,它们显然不会改变这种行为。我不能通过$('#checkbox:checked').val()传递复选框的值,控制台日志显示为'undefined'。这是因为.prop()函数吗?如何获取选中复选框的值?

如果你需要更多的信息,我很乐意提供。这里有一些代码:

if (json.event.public_visible == 1) {
  $('#event_public_visible').prop('checked', true);
} else {
  $('#event_public_visible').prop('checked', false);
}

if (json.event.package_event == 1) {
  $('#event_package_only').prop('checked', true);
} else {
  $('#event_package_only').prop('checked', false);
}

更新:更多代码

var editEvent = function () {
  if ($('#event_public_visible').is(':checked')) {
    console.log('test');
  }
  formData = {
    // ... other fields
    event_package_only: $('#event_package_only :checked').val(),
    event_public_visible: $('#event_public_visible :checked').val(),
    // ... more fields
  };

  $.ajax({
    url: base_url + "admin/events/editAsync",
    type: "POST",
    data: formData,
    dataType: "json",
    success: function (json) {
      // success handling
    }
  });
};

共有2个答案

徐洋
2023-03-14

请尝试以下操作:$('#event_public_visible:checked').val()$('#event_public_visible:checked').val()

您可以尝试:('#event_public_visible:checked')。长度?$('#event_public_visible:checked').val():“;

示例:http://jsfiddle.net/fernalbadger/sfcjg/

苗阳
2023-03-14

您正在为ID为'event_public_visible'和'event_package_only'的元素设置属性,然后尝试从ID为'checkbox'的元素中读取。

你是想用这个吗?

$('[type=checkbox]:checked').val()

可以看到它在这里工作:

http://jsfidle.net/vrba3/

 类似资料:
  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

  • 我希望在选中表中的所有复选框时选中标题复选框,如果没有选中单个复选框,则应取消选中标题复选框。

  • 我正在尝试一个Woocommerce票证插件。默认情况下,该插件会显示一个表,其中包含多个票证变体作为产品,并在下面显示一个文本字段作为其数量和一个提交按钮,以将产品添加到购物车中。 我想用单选按钮或复选框替换这个文本字段,这样用户就可以选择一种类型的票证,然后点击提交按钮将其中的一部分添加到购物车中。 我的想法是在foreach循环中创建一个复选框或单选按钮,该复选框或单选按钮的值为quanti

  • 你好,我正在开发angularjs应用程序。我显示了复选框的列表。我有下面的代码。

  • 下载整个项目。zip在这里 此问题的代码在Views文件夹中的CreateSchedule.aspx文件中。 以下是GridView的ASP.NET: 在取消选中某个框后调试事件时,网页上的复选框显示为未选中,但的值为true,即使该复选框在网页上显示为未选中。(chkRow是未选中的复选框) 更新3 我取得了一些突破。我发现复选框的问题在于嵌套的gridview位于使用JavaScript折叠和

  • 选中“第一键”复选框时,我想选中并禁用“第二键”复选框 html代码 为复选框键入脚本代码 } 通过使用此代码,key 2复选框被选中并禁用。但是key 2复选框的布尔值仍然是假的。当我单击key 1复选框时,关于如何将key 2复选框的布尔值更改为true的任何建议我正在使用Angular 8及其反应式形式模块。我是角度新手。