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

时间:2018-11-09 13:47:52

标签: jquery html css forms checkbox

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

  1. 选中复选框后,数量下拉列表值将更改为1
  2. 未选中复选框时,数量下拉列表值将变为0
  3. 数量下拉列表值设置为除0 复选框以外的任何值时,将更改为“已选中”
  4. 数量下拉列表值设置为0时,复选框将取消选中

我大部分都可以使用,
但我无法让#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);
    }
  });
});

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

或检查selectedIndex

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