Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript/Jquery上下移动div更改ID Num_Javascript_Jquery_Html - Fatal编程技术网

使用Javascript/Jquery上下移动div更改ID Num

使用Javascript/Jquery上下移动div更改ID Num,javascript,jquery,html,Javascript,Jquery,Html,我希望能够在上下移动div时更改ID,这样我就可以将它们的编号提交给MySQLi 所以基本上是从 1 2. 3. 4. 5. 到 1 2. 3. 4. 5. 或者类似的事情 HTML 1. 2. 3. 4. 5. JS $(文档).ready(函数(){ 选择的var=0; var itemlist=$('#items'); var len=$(itemlist).children().length; $(“#项div”)。单击(函数(){ selected=$(this.index()

我希望能够在上下移动div时更改ID,这样我就可以将它们的编号提交给MySQLi

所以基本上是从

1
2.
3.
4.
5.

1
2.
3.
4.
5.
或者类似的事情

HTML


1.
2.
3.
4.
5.
JS

$(文档).ready(函数(){
选择的var=0;
var itemlist=$('#items');
var len=$(itemlist).children().length;
$(“#项div”)。单击(函数(){
selected=$(this.index();
警报(“所选项目为“+$(this).text());
});
$(“#向上”)。单击(功能(e){
e、 预防默认值();
如果(已选择>0)
{
jQuery($(itemlist.children().eq(selected-1)).before(jQuery($(itemlist.children().eq(selected));
所选=所选-1;
}
});
$(“#向下”)。单击(功能(e){
e、 预防默认值();
如果(选择
CSS

#项目分类{
宽度:100px;
高度:20px;
边框:1px实心#000;
边缘顶部:2倍;
文本对齐:居中
}
第1分部{
背景色:#000;
颜色:#fff
}
.col2{
背景色:#0f0;
}
.col3{
背景色:#00f;
颜色:#fff
}
.col4{
背景色:#f00;
颜色:#fff
}
.col5{
背景色:#ff0;
}
一切都在移动,但我需要它改变ID,如果可能的话,这样它就会按顺序排序


这可能吗?如果有的话,有人能帮我吗。

你可以把物品或歌曲的列表放在你的箱子里,然后每当你改变物品的位置时,就对每个物品进行迭代。这样可以保留元素ID,但在需要时可以在服务器端存储准确的排序号。在JS中,您可以执行以下操作:

$(文档).ready(函数(){
选择的var=0;
var itemlist=$('#items');
var len=$(itemlist).children().length;
$(“#项div”)。单击(函数(){
selected=$(this.index();
警报(“所选项目为“+$(this).text());
});
$(“#向上”)。单击(功能(e){
e、 预防默认值();
如果(已选择>0)
{
jQuery($(itemlist.children().eq(selected-1)).before(jQuery($(itemlist.children().eq(selected));
所选=所选-1;
转换器();
}
});
$(“#向下”)。单击(功能(e){
e、 预防默认值();
如果(选择
增加的功能是主要的外卖

函数转换器(){
var listItems=$('#items').children();
for(listItems中的变量项){
listItems[item].setAttribute('data-sort',parseInt(item)+1);
}
}
这里要做的是获取列表中的所有项目,然后通过迭代每个项目来重新分配它们的排序号。因此,当您将项目1向下移动到位置2时,您会看到项目2现在将其排序位置设置为1,而不是列表中每个元素的排序位置设置为2,依此类推

例如,以下是选择项目1并单击->向下后HTML的外观:

2
1.
3.
4.
5.

请参阅此示例,以更好地说明这一点。

您可以获取项目列表,或您的案例中的歌曲,然后在更改项目位置时迭代每个项目。这样可以保留元素ID,但在需要时可以在服务器端存储准确的排序号。在JS中,您可以执行以下操作:

$(文档).ready(函数(){
选择的var=0;
var itemlist=$('#items');
var len=$(itemlist).children().length;
$(“#项div”)。单击(函数(){
selected=$(this.index();
警报(“所选项目为“+$(this).text());
});
$(“#向上”)。单击(功能(e){
e、 预防默认值();
如果(已选择>0)
{
jQuery($(itemlist.children().eq(selected-1)).before(jQuery($(itemlist.children().eq(selected));
所选=所选-1;
转换器();
}
});
$(“#向下”)。单击(功能(e){
e、 预防默认值();
如果(选择
增加的功能是主要的外卖

函数转换器(){
var listItems=$('#items').children();
for(listItems中的变量项){
listItems[item].setAttribute('data-sort',parseI