change div id on drop with jquery



我有一些代码,可以使我拖放元素。问题在于,我不知道如何在元素删除时更改ID。它需要保留一个具有正确数字的列表。

<div class="container">     
    <div class="block">
        <div id="draggables">
            <div id="dragbox1" class="stepbox">
                <label>Step 1</label>
                <input type='text' placeholder="Omschrijving" name="textbox1">
            </div>
            <div id="dragbox2" class="stepbox">
                <label>Step 2</label>
                <input type='text' placeholder="Omschrijving" name="textbox2">
            </div>
            <div id="dragbox3" class="stepbox">
                <label>Step 3</label>
                <input type='text' placeholder="Omschrijving" name="textbox3">
            </div>
        </div>
    </div>
</div>

当我拖动DIV时(例如,带有ID dragbox1的Div Div下向Div带有ID Dragbox3的DIV),我希望JQuery重命名Div ID,以便它以相同的顺序从1,2,3而不是2,3,1。

我认为它应该像循环一样有些:

var divClass = /*div class name*/;
var divId = /*static div id name*/;
var checkDivOrder = function(){
        if(/*check for divs with the name of the divClass*/) {
            if (divId === /*static div id name*/) {
            divId = /*divIdName*/ + 1;
        } else {
            divId = /*divIdName*/ + /*previous div id number*/ + 1;
        }
    }
};
//recall function
if(/*div being dropped*/){
    checkDivOrder(/*prev div number + 1*/);
}

有人可以帮助我这样做,因为我的jQuery和JavaScript技能不太好。

根据我的理解,您希望您以dragbox1,dragbox2,dragbox3的序列为单位。

您可以这样做。

 $('.stepbox').each(function(ind,obj){
	$(this).prop('id','dragbox'+(ind+1));
}); 

最新更新