2016-12-27 5 views
0

要素をドラッグ&ドロップできるようにするコードがあります。問題は、要素が削除されたときに要素のIDを変更する方法がわからないことです。正しい番号のリストを残す必要があります。jqueryでドロップ時のdiv 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 dragbox3とdivの下のid dragbox1と例えばDIV)をドラッグすると、私はそれようにjqueryのは、div要素のidの名前を変更したいです1,2,3からではなく、2,3,1から同じ順にとどまる。

私はそれがfolowingようsometgingしなければならないと思っています:私のjQueryとJavaScriptのスキルがその偉大されないよう

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*/); 
} 

誰かがこれで私を助けてもらえます。

+0

それが簡単に内部にネストされたdivを作ることではありません。私はそれが私として使用可能であるとは思わない '

...
'と時間 – Banzay

+0

でちょうど親を変え、内側のものをドラッグしますドラッグされる入力フィールド(とその中に書かれているもの)は、正しいIDに対応する必要があります。 – Jasper

答えて

2

私の理解によれば、dragbox1、dragbox2、dragbox3の順番に上から下に順番にdivしたいと思っています。

このようにすることができます。

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

+0

これは動作していないようです。ステップボックスdivをドロップすると、IDの名前が変更されません – Jasper

関連する問題