【发布时间】:2018-02-01 00:23:11
【问题描述】:
我想移动的表单元素有问题。这是我的简单示例。有两个链接可以向上或向下移动容器。
<div class="unique_a unique_a_1" data-attr="unique_a_1">
<a href="move('unique_a', 'up', 1)">Up</a>
<a href="move('unique_a', 'down', 1)">Down</a>
<input value="aaa">
</div>
<div class="unique_b unique_b_2" data-attr="unique_b_2">
<a href="move('unique_b', 'up', 2)">Up</a>
<a href="move('unique_b', 'down', 2)">Down</a>
<input value="bbb">
</div>
问题发生了,当我单击其中一个字段时,更改输入字段的值并尝试更改我的
function move( div, direction, counter )
{
if( direction == 'up' ) {
var field = $("."+ div +"_"+ counter).prev().attr("data-attr");
} else {
var field = $("."+ div +"_"+ counter).next().attr("data-attr");
}
if( field != undefined )
{
// Clicked element
var current = $("."+ div +"_"+ counter).html();
// <div> to change position with
var other = $("."+ field).html();
// Empty destination <div> and put in code of clicked element
$("."+ field).empty().prepend(current);
// Empty clicked element
$("."+ div +"_"+ counter).empty().append(other);
}
我遇到了问题,如果我在第一个输入字段中写入“ggg”并将其向下移动,它会丢失“ggg”并显示“aaa”。
如何将文本放入字段,然后对元素进行排序并保留我写的文本?
【问题讨论】:
-
为什么不直接移动元素呢?
标签: javascript jquery function dom swap