Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 JQuery引导选择器在('change')集合上选择_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript JQuery引导选择器在('change')集合上选择

Javascript JQuery引导选择器在('change')集合上选择,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我正在尝试根据另一个选择的值禁用和默认选择。当我第一次在choixVarX中选择一个选项(例如Pop)时,Parametersx正是我想要它做的:禁用前两个选项,并默认选择Pascenter和NodeDispersion。但是,当我将choixVarX更改为另一个不触发我想要的行为的参数(例如Propretate),然后再次将其更改为触发我想要的行为的参数(例如FoyersImposes或FoyersFiscaux),第二个参数Sx的行为异常:前两个参数被禁用,但默认情况下未选择Pascente

我正在尝试根据另一个选择的值禁用和默认选择。当我第一次在choixVarX中选择一个选项(例如Pop)时,Parametersx正是我想要它做的:禁用前两个选项,并默认选择Pascenter和NodeDispersion。但是,当我将choixVarX更改为另一个不触发我想要的行为的参数(例如Propretate),然后再次将其更改为触发我想要的行为的参数(例如FoyersImposes或FoyersFiscaux),第二个参数Sx的行为异常:前两个参数被禁用,但默认情况下未选择Pascenter和NodesVersion。。。有线索吗

<select class="selectpicker" name="choixVarX" id="choixVarX" size="1" onChange="populateMap('#DDDDC2','#000000',listeComparaison);">
        <option value="Pop">Population</option>
        <option value="FoyersImposes">Nombre de foyers imposés</option>
        <option value="FoyersFiscaux">Nombre de foyers fiscaux</option>
        <option value="PropRetraite">Part des retraites dans les revenus</option>
        <option value="PropFoyersImposes">Proportion de foyers imposés</option>
        <option value="RevMoyen">Revenu moyen</option>
      </optgroup>
    </select>
    <select class="selectpicker" multiple name="parametresX[]" id="parametresX" size="1" data-width="150px" onChange="populateMap('#DDDDC2','#000000',listeComparaison);" data-max-options="3">
      <optgroup label="Centrage des données" data-max-options="1" id="centrageX">
        <option value="median">Médiane des communes</option>
        <option value="moyenne">Moyenne des communes</option>
        <option value="pasCentre">Ne pas centrer</option>
      </optgroup>
      <optgroup label="Dispersion" id="dispersionX" data-max-options="1">
        <option value="minmax">Min-Max</option>
        <option value="ecarttype">Ecart-type</option>
        <option value="noDispersion">Aucun</option>
      </optgroup>
      <optgroup label="Echelle" id="echelleX" data-max-options="1">
        <option value="echelleComplete">Echelle étendue</option>
        <option value="echelleAdaptee">Echelle réduite</option>
      </optgroup>
    </select>

$('#choixVarX').on('change',function(){
  if($('#choixVarX').val()=="FoyersImposes" || $('#choixVarX').val()=="FoyersFiscaux" || $('#choixVarX').val()=="Pop"){
    $('.selectpicker').selectpicker('refresh');
    $('#centrageX option[value="median"]').attr('selected',false);
    $('#centrageX option[value="moyenne"]').attr('selected',false);    
    $('#centrageX option[value="pasCentre"]').attr('selected',true);
    $('#dispersionX option[value="minmax"]').attr('selected',false);
    $('#dispersionX option[value="ecarttype"]').attr('selected',false);
    $('#dispersionX option[value="noDispersion"]').attr('selected',true);
    $('#centrageX').attr('disabled',true);
    $('#dispersionX').attr('disabled',true);
    $('.selectpicker').selectpicker('refresh');
  }else{
    $('#centrageX').attr('disabled',false);
    $('#dispersionX').attr('disabled',false);
    $('.selectpicker').selectpicker('refresh');
  }
});

我想这对你们来说是一个解决方案,我把你们的属性改为prop insed,并做了一个长if语句的切换。不幸的是,data max options=1不起作用必须至少为data max options=2。因此,希望它能有所帮助,您可以在这里使用JSFIDLE:


您最好提供一个JSFIDLE,这样我们就可以看到问题了!为您修补它这里有一个jsfiddle:。我真的不明白我的问题是从哪里来的!正确的小提琴在这里:就像一个魅力,不管你说什么,它也与数据最大选项=1!干杯
$('#choixVarX').on('change', function () {
    switch ($(this).val()) {
        case 'Pop':
        case 'FoyersImposes':
        case 'FoyersFiscaux':
            $('#centrageX option[value="median"]').prop('selected', false);
            $('#centrageX option[value="moyenne"]').prop('selected', false);
            $('#centrageX option[value="pasCentre"]').prop('selected', true);
            $('#dispersionX option[value="minmax"]').prop('selected', false);
            $('#dispersionX option[value="ecarttype"]').prop('selected', false);
            $('#dispersionX option[value="noDispersion"]').prop('selected', true);
            $('#centrageX').prop('disabled', true);
            $('#dispersionX').prop('disabled', true);
            $('.selectpicker').selectpicker('refresh');
            break;    
        case 'PropRetraite':
        case 'PropFoyersImposes':
        case 'RevMoyen':
            $('#centrageX').prop('disabled', false);
            $('#dispersionX').prop('disabled', false);
            $('.selectpicker').selectpicker('refresh');
            break;
    }
});