【问题标题】:jquery multiple select list update failedjquery 多选列表更新失败
【发布时间】:2016-01-05 15:03:20
【问题描述】:

在我的 php 项目中,我有一个多选下拉菜单,我使用的是 jquery.multiple.select.js

我的观点是

<div class="form-outer box">
  <div class="span12 ">
    <label>Partner</label>
    <select class="span9 check_select " name="partner[]" id="partner" multiple="multiple" >
      <!--<option value="-1">Select</option>-->
      <?php foreach ($member as $memberpart) : ?>
         <option  value="<?php echo $memberpart->members_id; ?>">
           <?php echo $memberpart->members_first_name; ?>
         </option>
      <?php endforeach; ?>                                
    </select>
    <a href="#paradd" class="btn" role="button" onclick="clear_message()" data-toggle="modal">
      <i class="icon-plus pull-right" style="margin-top:5px;"></i> 
    </a>
  </div>
</div>

这里我有一个加号按钮(&lt;a&gt; 标签),它打开一个添加新伙伴的模式。现在我想在使用模态添加新伙伴时更新多选下拉菜单,并且在模态关闭时调用一个函数,如下所示,

function bulid_select_box(select_box,path,doselect){ 
    var base_url  = $("meta[name=baseurl]").attr("content");
    $.ajax({
        url: base_url + path,
        success: function(data) {
            var json = jQuery.parseJSON(data);
            $(select_box).find('option').remove();
            $(select_box).append('<option value="-1">Select</option>');   
            var setselect = '';
            if(doselect){
                setselect = 'selected';
            }
            for(var i=0; i < json.length; i++){                                        
                if((json.length -1)== i){
                    $(select_box).append('<option ' + setselect  + ' value="' + json[i].value  + '">' + json[i].option  + '</option>'); 
                }else{
                    $(select_box).append('<option value="' + json[i].value  + '">' + json[i].option  + '</option>');              
                }
            }                
            $(select_box).trigger("chosen:updated");               
            $(select_box).data('chosen').activate_action();                 
            bulid_select_trigger(select_box);               
        }            
    }); 
}

当使用它时,新值不会插入到列表中,但是当我检查 &lt;select&gt; 标记中显示的值时,它的样式是 display="none"

实际列表显示在带有class=ms-drop&lt;li&gt; 标签的&lt;div&gt; 中。

我认为使用时列表没有更新

  $(select_box).trigger("chosen:updated");

如何更新列表?

【问题讨论】:

    标签: javascript php jquery jquery-multiselect


    【解决方案1】:

    如果你使用this library刷新列表的方式是

    $select.append($opt).multipleSelect("refresh");
    

    【讨论】:

    • 但它没有设置选择最后插入的值,可能是因为我按名称的 asc 顺序从 mysql db 中选择。如何设置选择最后插入的值
    • 首先获取最后插入值的 id,然后从数据库中选择该值并将您的值返回给 ajax
    • 这里面有搜索选项吗?
    • 你可以搜索它的库或者使用jquery搜索
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多