2017-01-24 2 views
0

Hallo ich habe ein Problem mit Auswahl mit mehreren wählen in der Regel mehrere wählen Arbeit am Array, wenn wir eine Option auswählen und senden sie an PHP, so dass wir diese Arrya mit Sortierbasis auf seinem Indexsenden mehrere ausgewählte Option ohne Sortierung zu PHP

meine Frage ist, ich ein mehrere auswählen mit 5 Optionen haben, wenn ich mit dieser Reihenfolge wie 3 wählen 1 4 2 und senden i erhalten php so 1 2 3 4, aber ich möchte, dass, um die ich von html senden

meine hTML-Code ist

<select class="chosen" id="location" name="location[]" multiple="multiple"> 
          <option>Select</option> 
          <option value="OpenApp">OpenApp</option> 
          <option value="StartGame">StartGame</option> 
          <option value="EndGame">EndGame</option> 
          <option value="Reward_Calendar">Reward Calendar</option> 
          <option value="InviteFriend">InviteFriend</option> 
          <option value="Gift">Gift</option> 
          <option value="Store_Hot_Deals">Store Hot Deals</option> 
         </select> 

und in php bekomme ich das Array und prin es und ich bekomme diesen Ausgang

enter image description here

und in PHP-Ausgabe Dank für dieses Problem

Array ([0] => OpenApp [1] => StartGame [2] => EndGame [3] => Gift) 

plese help me ist

+0

diesen Code versuchen [link] (http://jsfiddle.net/FjET4/161/) –

+0

wenn meine Verbindung für arbeitet Sie bitte kommentieren dann werde ich meine Antwort schreiben –

+0

Ihr Link funktioniert genauso wie mein Code Buddy –

Antwort

1

Try dies:

Bei der Auswahl jeder Option den ausgewählten Wert in ein JS-Objekt einfügen und die sele drücken dargestellter Wert für jede Auswahl. Und posten Sie es auf dem Server, den Sie die richtige Reihenfolge auf Server mit diesem Objekt verwenden.

$(document).ready(function() { 
    var obj = []; 
    $('#select').click(function(){ 
    obj.push($(this).val()); 

    alert(obj); 
    }); 
}); 

Working Fiddle

+0

Sie haben ein richtiges beispiel, so kann ich verstehen .. –

+0

Überprüfen Sie die Geige –

+0

Ich denke, Ihre Antwort ist hilfreich, aber ich brauche Beispiel mit Select-Tag, so werde ich wissen, wie genau Ihr Code ist Arbeit –

0

Ich bin nicht ganz sicher über die endgültige eiter Sie achive wollen, aber natürlich kann man es auf diese Weise nicht tun. Php analysiert den Post-Ort "location" in seiner ursprünglichen Reihenfolge und fügt dem Array alle ausgewählten Werte hinzu. Der einzige Weg, den ich denken kann, ist, die Optionen über js oder jquery nach oben oder nach unten zu verschieben, bevor Sie den Post senden.

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
<form method="post"> 
    <select class="chosen" id="location" name="location[]" multiple="multiple"> 
     <option>Select</option> 
     <option value="OpenApp">OpenApp</option> 
     <option value="StartGame">StartGame</option> 
     <option value="EndGame">EndGame</option> 
     <option value="Reward_Calendar">Reward Calendar</option> 
     <option value="InviteFriend">InviteFriend</option> 
     <option value="Gift">Gift</option> 
     <option value="Store_Hot_Deals">Store Hot Deals</option> 
    </select> 
    <input type="submit" value="go"> 
</form> 
<input type="button" value="Up"> 
<input type="button" value="Down"> 
<script> 
    $(document).ready(function(){ 
     $('input[type="button"]').click(function(){ 
      var $op = $('#location option:selected'), 
      $this = $(this); 
      if($op.length){ 
       ($this.val() == 'Up') ? 
       $op.first().prev().before($op) : 
       $op.last().next().after($op); 
      } 
     }); 
    }); 
</script> 

Hier ein Beispiel: https://jsfiddle.net/giacomopittalis/ofLuywnd/