js html()覆盖请教一个层级关系
html代码
<div class="row">
<div class="col-sm-6">
<select class="form-control m-b" name="server_lists" id="server_lists">
<option>选择服务器</option>
{% for server_i in server_lists %}
<option value="{{ server_i.id }}">{{ server_i.public_ip }}</option>
{% endfor %}
</select>
</div>
<div class="col-sm-6 pull-right">
<select class="form-control m-b" name="server_lists" id="server_lists">
<option>选择服务器</option>
{% for server_i in server_lists %}
<option value="{{ server_i.id }}">{{ server_i.public_ip }}</option>
{% endfor %}
</select>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<button type="button" class="btn btn-default" id='select-all'>全选</button>
<button type="button" class="btn btn-default" id='deselect-all'>全不选</button>
<select id='pre-selected-options' multiple='multiple' name="game_id">
</select>
</div>
</div>
<br>
<div class="row">
<div class="col-sm-4">
<button class="btn btn-primary" type="button" onclick="mtSelect(this)">
开始迁移
</button>
</div>
js代码
<script type="text/javascript">
$(document).ready(function () {
$('#pre-selected-options').multiSelect();
$('#select-all').click(function(){
$('#pre-selected-options').multiSelect('select_all');
return false;
});
$('#deselect-all').click(function(){
$('#pre-selected-options').multiSelect('deselect_all');
return false;
});
$("#server_lists").change(function () {
var server_i = $("#server_lists").val();
$.ajax({
data: {'obj_id': server_i, csrfmiddlewaretoken: '{{ csrf_token }}'},
type: 'POST',
url: '/pro1/gamemigratedata/' + server_i + '/',
success: function (data) {
var content = '';
$.each(data, function (i, item) {
content += '<option value='+'"'+item.gameid+'"'+'>'+item.gameid+'</option>'
});
alert(content);
$("#pre-selected-options").html(content)
}
})
});
});
</script>
问题如下:
应该是js的一个层级关系覆盖了alert(content);
是有内容的$("#pre-selected-options").html(content)
内容为空的
后来测试把
$('#pre-selected-options').multiSelect();
注释了就正常,但那个多选框功能不全
那现在这个情况要怎么改的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不知道这个multiSelect是什么组件,jqueryui?没找到,不过很多组件都是自行用div和span构建的,不一定用原生的标签.即使是用,也是在初始化的之前就需要把基本信息写进去,后期动态修改就得看组件是否给接口了.你这个应该不是html的范围问题,是初始化时机问题.
看一看这个组件是否提供了相应的方法动态修改选项,或者在用html()之前销毁之前的组件,加入option之后重新初始化一个.