【发布时间】: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>
这里我有一个加号按钮(<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"。
实际列表显示在带有class=ms-drop 和<li> 标签的<div> 中。
我认为使用时列表没有更新
$(select_box).trigger("chosen:updated");
如何更新列表?
【问题讨论】:
标签: javascript php jquery jquery-multiselect