【发布时间】:2020-06-09 18:50:43
【问题描述】:
我有一个有趣的场景涉及使用复选框来启用下拉菜单。更改第一个下拉菜单的状态后,它应该启用第二个下拉菜单。在第二个下拉列表中进行选择后,它会切换 2 个隐藏 DIV 的可见性。如下图:
我有一个原型JSFIDDLE,我一直在研究,但脚本存在一些问题,例如:
1- 尽管下拉菜单包含“disabled”属性,只有在选中复选框后才应启用该属性,但仅当您单击复选框 2 时才有效次。这是脚本:
var $checkBox = $('#mondayTransfer'),
$select = $('#mondayOptions');
$checkBox.on('change',function(e){
if ($(this).is(':checked')){
$select.removeAttr('disabled');
}else{
$select.attr('disabled','disabled');
}
});
2- 第二个选择下拉菜单也应该被禁用;对第一个选择下拉列表的更改将启用它。这是脚本:
$(function(){
$('select').change(function(){
if($(this).attr('id') == 'mondayOptions' && $(this).val() == 'Default'){
$('select').not(this).prop('disabled', true).val('Disabled');
} else {
$('select').not(this).removeProp('disabled');
$('select option').removeProp('disabled');
$('select').each(function(){
var val = $(this).val();
if(val != 'Default' || val != 'Disabled'){
$('select option[value="'+val+'"]').not(this).prop('disabled', true);
}
});
}
});
});
3-取消选中复选框后,所有下拉菜单都应禁用。
我将不胜感激。
【问题讨论】:
标签: javascript jquery forms toggle visibility