jQueryui;如何使用draggable在克隆上保留选定索引
情景: 包含select下拉列表的可拖动DIV元素 DragTable有一个克隆辅助程序。 在下拉列表中选择一个选项。 拖动时,克隆辅助对象不会保留新选择的选项。相反,它使用加载元素时选择的原始选项 例如: html代码:jQueryui;如何使用draggable在克隆上保留选定索引,jquery,jquery-ui,jquery-ui-sortable,jquery-ui-draggable,Jquery,Jquery Ui,Jquery Ui Sortable,Jquery Ui Draggable,情景: 包含select下拉列表的可拖动DIV元素 DragTable有一个克隆辅助程序。 在下拉列表中选择一个选项。 拖动时,克隆辅助对象不会保留新选择的选项。相反,它使用加载元素时选择的原始选项 例如: html代码: <div class="master"> <div class="draggable-container"> <div class="select-container"> <sele
<div class="master">
<div class="draggable-container">
<div class="select-container">
<select class="select">
<option value="value 1">Value 1</option>
<option value="value 2">Value 2</option>
<option value="value 3">Value 3</option>
</select>
</div>
</div>
</div>
预期行为:克隆帮助器应保留新选择的选项
在这一点上,我看到的唯一方法是向drag事件添加一个函数,该函数捕获原始元素的值,然后将该值应用于克隆。但是我的直觉告诉我jQuery应该有一个设置,使克隆与原始元素的更改保持同步
例如:
最后,当我通过拖动到另一个可排序元素来组合draggable和sortable时,删除的克隆将恢复到原始选择,即使我使用了“drag”事件来更新克隆
我可能只是为排序表上的更新创建另一个函数,但这似乎是最长的路径
问题:jQuery ui draggable上是否有任何设置使克隆帮助程序保留选择更改?重复的
经过进一步研究,我在JQuery bug跟踪器中找到了这张罚单
解释错误并提供解决方法的系统。显然地
克隆select值的成本太高,因此它们无法修复它
因此,每个案例都需要一个特定的解决方法。的可能副本,另请参见。感谢Nate,这确实是一个副本。
$( '.draggable-container' ).draggable({
disabled: false,
connectToSortable: ".sortable-container",
helper: "clone",
revert: "invalid",
opacity: 0.35
});
$( '.draggable-container' ).draggable({
disabled: false,
connectToSortable: ".sortable-container",
helper: "clone",
revert: "invalid",
opacity: 0.35,
drag: function( event, ui ) {
$( this ).find( '.select' ).each(
function(){
var indice = $( this ).val();
var u = ui.helper[0];
$( ui.helper[0] )
.find( '.select' ).each(
function(){
$( this ).val( indice );
});
});
}
});