jquery ui - 可排序:获取所有元素的新位置
jquery ui - sortable: get new position of all elements
我正在使用 jQuery UI - 可按以下列表排序:
<div class="contentEntries">
<div class="contentEntry">...</div>
<div class="contentEntry">...</div>
<div class="contentEntry">...</div>
<div class="contentEntry">...</div>
</div>
在 .contentEntry 中有一个输入字段,其位置为:
<input type="text" class="form-control" placeholder="Position" name="row[contents][23][position]" value="0">
我希望如果我将一个元素拖动到一个新位置,我将获得所有元素的新位置列表。
例如:
在每个 .contentEntry 上,带有该位置的输入的值为 0。现在我将任何元素拖到一个新位置,我希望所有元素都获得正确的顺序作为值。这样第一个的输入位置值为1,第二个为2,依此类推...
哦,没那么难 ;)
$(function() {
$('.contentEntries').sortable({
stop: function(event, ui) {
$(this).find('.contentEntry').each(function(i, el){
$(this).find('input.position').val(i+1);
});
}
});
$('.contentEntries').disableSelection();
});
但是还有一个问题。正确的值显示在网站中,但在 DOM 中仍然是旧值。
编辑:已经让它工作了:)
我正在使用 jQuery UI - 可按以下列表排序:
<div class="contentEntries">
<div class="contentEntry">...</div>
<div class="contentEntry">...</div>
<div class="contentEntry">...</div>
<div class="contentEntry">...</div>
</div>
在 .contentEntry 中有一个输入字段,其位置为:
<input type="text" class="form-control" placeholder="Position" name="row[contents][23][position]" value="0">
我希望如果我将一个元素拖动到一个新位置,我将获得所有元素的新位置列表。
例如: 在每个 .contentEntry 上,带有该位置的输入的值为 0。现在我将任何元素拖到一个新位置,我希望所有元素都获得正确的顺序作为值。这样第一个的输入位置值为1,第二个为2,依此类推...
哦,没那么难 ;)
$(function() {
$('.contentEntries').sortable({
stop: function(event, ui) {
$(this).find('.contentEntry').each(function(i, el){
$(this).find('input.position').val(i+1);
});
}
});
$('.contentEntries').disableSelection();
});
但是还有一个问题。正确的值显示在网站中,但在 DOM 中仍然是旧值。 编辑:已经让它工作了:)