下拉设置为 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 并设置默认值的复选框