jquery 多个 select 列表更新失败
jquery multiple select list update failed
在我的 php 项目中,我有多个 select 下拉菜单,我正在使用 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>
标签),它打开一个模式来添加新的合作伙伴。现在我想在使用模态添加新合作伙伴时更新多个 select 下拉菜单,并在模态关闭时调用一个函数,如下所示,
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");
如何更新列表?
如果您使用this library刷新列表的方式是
$select.append($opt).multipleSelect("refresh");
在我的 php 项目中,我有多个 select 下拉菜单,我正在使用 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>
标签),它打开一个模式来添加新的合作伙伴。现在我想在使用模态添加新合作伙伴时更新多个 select 下拉菜单,并在模态关闭时调用一个函数,如下所示,
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");
如何更新列表?
如果您使用this library刷新列表的方式是
$select.append($opt).multipleSelect("refresh");