【发布时间】:2018-11-30 09:16:59
【问题描述】:
我正在尝试使用 sortable 更改我的 select2 中的值,但没有白费。我尝试通过 stop 函数中的值交换循环,但似乎无法正确处理。
这是我的简化代码:
$(".select2").select2();
$("ul.select2-selection__rendered").sortable({
containment: 'parent',
stop: function(event, ui) {
console.log($("#form").serializeArray())
}
});
console.log($("#form").serializeArray())
.select2 {
width: 100%;
}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.js"></script>
<div class="container">
<div class="row">
<div class="col-md-12">
<form id="form" onsubmit="return false;">
<select class="select2" name="test1" multiple>
<option value="1" selected>test1</option>
<option value="2" selected>test2</option>
<option value="3" selected>test3</option>
</select>
</form>
</div>
</div>
</div>
拖放有效,但我希望能够使用它们更改值,以便console.log 打印出重新排序的值。
任何关于如何使用 sortable 和 select2 来交换 select 中的选项的提示将不胜感激。
【问题讨论】:
-
为什么在渲染之前不更新值
-
@NegiRox 你是什么意思?怎么样?
-
请看一下希望您正在寻找相同的解决方案。如果没有,那么我会根据您的要求制作一个新的。 stackoverflow.com/questions/52927099/…
-
@NegiRox 我无法为我的代码重现它(对不起,我是 JS 新手......),你能告诉我怎么做吗?我赞成你的回答,谢谢!
标签: javascript jquery jquery-ui jquery-select2 jquery-ui-sortable