ReSort Appended html-items

ReSort Appended html-items

Hi,
I like to resort appended items via Arrays. If I append only two items it works fine. I have Problems to swap two items, if append 3 or more.

Any ideas how I can solve this problem? Maybe there is a much easier way.

Here is the code:

        var rownumber = 0;
        var fieldorder = [];
        var neworders = [];
        var key = 0;
       
      
       
        $("button").click(function() {
        rownumber++;
        ButtonId = this.id;
        fieldorder[key] = rownumber;
        key++;
    
        $("<div class=\"MyWordsFieldSpacer\"></div><div class=\"fieldset\" id=\"field_" + rownumber + "\">" + fieldsource[ButtonId] + "</div><div class=\"UPorderButtons\" id=\"" + rownumber + "_button_down\">nach unten</div><div class=\"DOWNorderButtons\" id=\"" + rownumber + "_button_up\">nach oben</div><div class=\"MyWordsFieldSpacer\"></div>").appendTo("#FormFields").click(function(n){
       
       
        var idVal = $(this).attr ("id");
       
        var length = fieldorder.length
       
        if(length > 2) {
       
        var checkDOWNButton = "";
        var checkUPButton = "";
       
        for(i=0; i<length; i++) {
       
        checkDOWNButton = fieldorder[i] + "_button_down";
        checkUPButton = fieldorder[i] + "_button_up";
       
        if(checkUPButton == idVal && i > 0 && i < length) {
        var tmp = fieldorder[i];
        neworders[i] = fieldorder[i+1];
        neworders[i+1] = tmp;
        } else if (checkDOWNButton == idVal && i > 0 && i <= length) {
        var tmp = fieldorder[i];
        neworders[i] = fieldorder[i-1];
        neworders[i-1] = tmp;   
        } else  {
        neworders[i] = fieldorder[i];
        }
    
        }
      
        } else {
       
        var tmp = fieldorder[0];
        neworders[0] = fieldorder[1];
        neworders[1] = tmp;
 
       
        } 
       
         sortFields(neworders);
       
         $.each(neworders,function(index,value){
         fieldorder[index] = value;
        });
    
        });
     
        
        });
    






































































    • Topic Participants

    • info