【问题标题】:Bootstrap Multi-Select- Unable to Enable Select When All Options are Deselected/UncheckedBootstrap Multi-Select - 取消选择/取消选中所有选项时无法启用选择
【发布时间】:2019-05-01 15:02:52
【问题描述】:

我有两个选择,允许使用引导选择插件服务和支付类型进行多项选择。我想要的是当服务中的所有选项都被取消选择/取消选中时,payment_type 就会启用。注意:代码中的禁用可以正常工作,但该字段的启用不能。我在这里做错了吗?

此外,payment_type 和 services 最初是禁用的,但是通过选择另一个字段来启用。

<select id="services" class="form-control" multiple="multiple" disabled>
       <option value="tire_rotation">Tire Rotation</option>
       <option value="oil_change">Oil Change</option>
       <option value="brake_check">Brake Check</option>
 </select>


 <select id="payment_type" class="form-control" multiple="multiple" disabled>
       <option value="cash">Cash</option>
       <option value="check">Check</option>
       <option value="credit_card">Credit Card</option>
       <option value="debit_card">Debit Card</option>
 </select>
$(document).ready(function() {
       $('#services').multiselect({
           buttonWidth: '375px',
           nonSelectedText: 'Select...',
           dropLeft: true,
           includeSelectAllOption: true,
           numberDisplayed: 1,
           onChange: function() {

               var servicesSelected = $("#services :selected").length;

               if ($(servicesSelected.length != 0)) {
                  $('#payment_type').multiselect('disable');
                  $('#payment_type').multiselect("deselectAll", false).multiselect("refresh");

               } 
               else {
                    $('#payment_type').multiselect('enable');
               }
           }
       });
   });

预期结果:取消选中所有服务后,payment_type 选择变为启用。

【问题讨论】:

    标签: javascript jquery bootstrap-multiselect


    【解决方案1】:

    这会起作用的......

     $(document).ready(function() {
      $('#services').multiselect({
        buttonWidth: '375px',
        nonSelectedText: 'Select...',
        dropLeft: true,
        includeSelectAllOption: true,
        numberDisplayed: 1,
        onSelectAll: function(checked) {
          enableDisablePaymentType(checked);
        },
        onChange: function() {
          var servicesSelected = $("#services :selected").length > 0 ? true : false;
          enableDisablePaymentType(servicesSelected);
        }
      });
    });
    
    function enableDisablePaymentType(servicesSelected) {
      if (servicesSelected) {
        $('#payment_type').multiselect('disable');
        $('#payment_type').multiselect("deselectAll", false).multiselect("refresh");
      } else {
        $('#payment_type').multiselect('enable');
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-18
      • 2014-05-06
      • 2018-10-14
      • 2023-03-02
      • 2019-04-16
      • 1970-01-01
      • 2017-08-13
      • 2015-02-13
      • 1970-01-01
      相关资源
      最近更新 更多