2017-01-24 9 views
0

привет, у меня есть одна проблема с select с несколькими select , как правило, многократная работа над массивом при выборе какой-либо опции и отправка ее на php, поэтому мы получаем эту arrya с сортировочной базой по ее индексуотправить несколько выбранных параметров с нашей сортировкой по php

мой вопрос у меня есть один множественный выбор с 5 вариантов, когда я выбираю этот заказ как 3 1 4 2 и отправить его на PHP, так что я получить 1 2 3 4, но я хочу, что порядок, который я посылаю от HTML

мой html-код:

<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> 

и в PHP я получаю этот массив и расходные его, и я получаю этот выход

enter image description here

и на выходе РНР

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

вписатьтся помочь мне в этом вопросе благодаря

+0

попробуйте этот код [ссылка] (http://jsfiddle.net/FjET4/161/) –

+0

если моя ссылка работает для вас, пожалуйста, комментарий, то я отправлю свой ответ –

+0

Ваша ссылка работает так же, как мой код приятель –

ответ

1

Try это:

При выборе каждой опции поместите выбранное значение в объект JS и нажмите селе cted в нем для каждого выбора. И разместите его на сервере, вы будете иметь правильный порядок на сервере, используя этот объект.

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

    alert(obj); 
    }); 
}); 

Working Fiddle

+0

у вас есть подходящий пример, чтобы я мог понять .. –

+0

Проверьте fiddle –

+0

Я думаю, что ваш ответ полезен, но мне нужен пример с тегом select, поэтому я буду знать, что именно ваш код работает –

0

Я не совсем уверен в окончательном esult вы хотите для того чтобы достигнуть, но, конечно, вы не можете сделать это таким образом. Php анализирует данные о местоположении «местоположение» в первоначальном порядке и добавляет к массиву все выбранные значения. Таким образом, единственный способ, по которому я могу думать, - перемещать вверх или вниз параметры через js или jquery перед отправкой сообщения.

<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> 

Вот пример: https://jsfiddle.net/giacomopittalis/ofLuywnd/