在我的 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>
在这里,我有一个加号按钮(<a>
标签),它打开一个添加新伙伴的模式。现在我想在使用模态添加新伙伴时更新多选下拉列表,并且在模态关闭时调用一个函数,如下所示,
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);
}
});
}
使用它时,新值不会插入到列表中,但是当我检查<select>
标签中显示的值时,它的样式是display="none"
.
实际列表以带有<div>
标签的形式显示。class=ms-drop
<li>
我认为使用时列表没有更新
$(select_box).trigger("chosen:updated");
如何更新列表?