下拉设置为 0 时无法取消选中复选框

Posted

技术标签:

【中文标题】下拉设置为 0 时无法取消选中复选框【英文标题】:can't get checkbox to uncheck when dropdown set 0 【发布时间】:2019-04-13 02:17:18 【问题描述】:

我正在尝试将这些功能添加到我的订购单中

    checkbox 被选中时,Qty dropdown 值将变为 1 当 checkbox 未选中时,Qty dropdown 值将变为 0 当 Qty dropdown 值设置为除 0 以外的任何值时 checkbox 将更改为选中 当 Qty dropdown 值设置为 0 时,checkbox 将取消选中

我已经完成了大部分工作, 但我无法让#4 工作 - 当下拉设置为 0 时复选框不会取消选中。

这里是代码codepen

$(document).ready(function() 
  $(".product input:checkbox").change(function() 
    if ($(this).is(":checked")) 
      $(this).siblings("select").val(1);
     else 
      $(this).siblings("select").val(0);
    
  );
  $(".product select").change(function() 
    if ($(this).val != '0') 
      $(this).siblings("input:checkbox").prop("checked", true);
    else
      $(this).siblings("input:checkbox").prop("checked", false);
    
  );
);

【问题讨论】:

【参考方案1】:

您需要val() 函数而不是val 属性来获取值

if ($(this).val() != '0') 

【讨论】:

【参考方案2】:

你也可以使用$(element).prop()jQuery Documentation about prop 您还可以使用 prop 来设置元素值,请参阅文档了解更多信息。

if ( $(this).prop('selected') ) 
  // your code ...

或检查 selectedIndex

$(element).prop('selectedIndex', 0);

【讨论】:

以上是关于下拉设置为 0 时无法取消选中复选框的主要内容,如果未能解决你的问题,请参考以下文章

在 s-s-rS 报告中使用级联多选下拉菜单时,取消选中所有复选框不起作用

Laravel 无法取消选中使用 old 并设置默认值的复选框

js实现点击选中,第二次点击取消选中状态

Salesforce - 将字段设置为只读

使用Easyui ,表格表头的复选框怎么实现全选和取消全选的功能,

MFC中如何取消已选单选框的勾选状态?