Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何禁用<;选择>;基于其他<;选择>;关于Select2.js_Javascript_Jquery_Select_Is Empty_Disabled Input - Fatal编程技术网

Javascript 如何禁用<;选择>;基于其他<;选择>;关于Select2.js

Javascript 如何禁用<;选择>;基于其他<;选择>;关于Select2.js,javascript,jquery,select,is-empty,disabled-input,Javascript,Jquery,Select,Is Empty,Disabled Input,我在禁用“选择”输入时遇到了一些问题 每当“estado”上未选择任何内容时,我需要禁用“cidade” 这是我的密码: <select id="estado" class="select_customized"> <option></option> <option value="sp">São Paulo</option> <option value="mg">Minas Gerais</op

我在禁用“选择”输入时遇到了一些问题

每当“estado”上未选择任何内容时,我需要禁用“cidade”

这是我的密码:

<select id="estado" class="select_customized">
    <option></option>
    <option value="sp">São Paulo</option>
    <option value="mg">Minas Gerais</option>
    <option value="rj">Rio de Janeiro</option>

</select>

<select id="cidade" class="select_customized">
     <option></option>
     <option value="sao-paulo">São Paulo</option>
     <option value="minas-gerais">Minas Gerais</option>
     <option value="rio-de-janeiro">Rio de Janeiro</option>

</select>

这是可行的,但每当我在“estado”输入中选择某个内容,并再次清除它时,“cidade”不会再次禁用。。。有什么建议吗

您可能希望使用select2调用来检查选择框是否为空,而不是进入您创建的原始#estado框(因为它被select2隐藏)

您的电话:

var is_empty = $('#estado').is(":empty");
然后可以更改为以下内容:

var is_empty = $('#estado').select2("val") == "";

这就完成了我的任务。请注意,上面的实际比较会有所不同,具体取决于您是否使用多值选择框。

我认为您实际上需要。您只需将.on('change')设置为工作状态,就像这把小提琴一样

更新:比我想象的容易

var is_empty = $('#estado').select2("val") == "";
$("#cidade").prop('disabled', 'disabled');
$("#estado").on('change', function() {
    var that = $("#estado option:selected").val();
    if (that !== "empty") {
        $("#cidade").prop('disabled', false);
    } else { 
         $("#cidade").prop('disabled', 'disabled');        
    }


});