массивы — отправка нескольких выбранных опций без нашей сортировки в переполнение стека

привет у меня есть одна проблема с выбором с множественным выбором
как правило, множественный выбор работает с массивом, когда мы выбираем какую-либо опцию и отправляем ее в 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 я получаю этот массив и прин его, и я получаю этот вывод

введите описание изображения здесь

а в php вывод есть

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

пожалуйста, помогите мне в этом вопросе
Спасибо

0

Решение

Попробуй это:

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

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

alert(obj);
});
});

Рабочая скрипка

1

Другие решения

Я не совсем уверен насчет окончательного результата, которого вы хотите достичь, но, конечно, вы не можете сделать это таким образом.
Php анализирует почтовые данные «location» в исходном порядке и добавляет в массив все выбранные значения.
Поэтому я могу думать только о том, чтобы перед отправкой поста перемещаться вверх или вниз по опциям с помощью 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/

0