我有一个包含大约四个选项的选择菜单。选择菜单的第一个选项没有值(value)。其他选项都有值。当用户选择具有值的选项时,我需要禁用该复选框,否则,如果他们返回到具有空白值的选项,则该复选框将重新启用。
下面的代码成功禁用了该复选框,但我希望当用户单击选择菜单的第一个空白选项时重新启用该复选框。
$(document).ready(function(){
$('#select-menu').change(function() {
if ($(this).val() !== ':first-child') {
$("#related-checkbox").attr("disabled", true);
} else {
$("#related-checkbox").attr("disabled", false);
}
});
});
最佳答案
声明说
if ($(this).val() !== ':first-child') {
从字面上检查所选值字符串是否为“第一个子级”,而不是检查它是否为第一个子级。只需将其设置为空白即可
if ($(this).val() !== '') {
如果你想检查它是否是第一个选项(而不是它是否为空),那么你可以将第一个子元素的 val 与所选元素的 val 进行比较
if ($(this).val() == $(this).children(':first-child').val())
关于javascript - 当选择菜单具有值时禁用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9131890/