【问题标题】:Selectpicker Is Not Working with Refresh with Drop-Down ListSelectpicker 不使用下拉列表刷新
【发布时间】:2018-01-31 15:46:26
【问题描述】:

我正在使用下面的代码,我的问题是当我第一次选择时,位置列表没有加载。当我选择第二个项目时,子列表中的第一个项目会被填充。如果我选择第三个,则会填充第二个子项。

我确定我在某个地方犯了一个愚蠢的错误。

<div class="form-group">
  <div class="row">
    <div class="col-xs-12 col-sm-5 col-md-5">
      <label for="">SELECT CLIENT</label>
      <select type="search" id="myarray" class="select2-select req selectpicker form-control" data-required="1" data-max-options="1" data-live-search="true" multiple="" name="myarray[]" title="Select a Client">
        <?php echo $Clients; ?>
      </select>
    </div>
  </div>
</div>

<script>
  jQuery(".select2-select").change(function() {
    var selected = $(this).val();
    $(".selectpicker").selectpicker();
    $.ajax({
      url: "<?php echo base_url(); ?>login/getDataFromLocation",
      data: {
        type: 'select',
        selected: selected
      },
      type: 'post',
      success: function(output) {
        if (output) {
          //$('#append').append(output);
          $(".selectpicker").selectpicker();
          $('#multiple').selectpicker('refresh').empty().append(output);
        }
      }
    });

  });
</script>

<div class="form-group">
  <div class="row">
    <div class="form-group col-md-5">
      <label for="multiple">LOCATION</label>
      <select id="multiple" class="form-control req selectpicker select2-select" data-required="1" name="Location[]" title="Select a Location" multiple></select>
    </div>
  </div>
</div>

【问题讨论】:

  • 我们可以提供一些示例数据吗?什么是 ?
  • 我的假设是您的select 启用了multiple。这意味着当您请求$(this).val(); 时,它将返回一个数组,而不是一个值。这意味着您正在为服务器提供一些相当奇怪的值。
  • 一些示例:客户端 1、客户端 2、客户端 3、客户端 4,每个客户端具有不同的位置,位置 1、位置 A 等。
  • 我们真的需要一个示例请求。哪些数据EXACTLY 发送到服务器,哪些数据EXACTLY 发回?每一个都如你所愿吗?即您是否发送了您希望发送的值?您是否收到了您期望收到的值?
  • 客户端 1 位置 A 位置 B 位置 C 客户端 2 位置 1 位置 2 位置 3 客户端 3 位置 12 位置 34 位置 45 客户端 4 位置 A1 位置 B1 位置 C1 -- 显示客户端 x

标签: bootstrap-selectpicker


【解决方案1】:

问题已解决,问题正在刷新列表中的值。

$("#creatives").selectpicker('refresh').empty().append(output).selectpicker('refresh').trigger('change');

使用 .trigger('change') 非常感谢大家在这里的意见。

【讨论】:

    猜你喜欢
    • 2016-10-22
    • 2012-01-01
    • 1970-01-01
    • 2020-02-05
    • 2011-11-17
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多