присвоение нового идентификатора / класса элементу списка

0

Я использую список сортировки JQuery, который заменяет два элемента друг на друга. Каждый <li> имеет уникальный id и name а значения получаются из файла php.

Образец HTML:

<ul id="sections" class="ui-sortable">
   <li id="one" name="one" value="<?php echo $forms[0]; ?>" class="<?php echo $forms[0]; ?>">one</li>
   <li id="onea" name="one_a" value="<?php echo $forms[1]; ?>" class="<?php echo $forms[1]; ?>"> two</li>
   <li id="oneb" name="one_b" value="<?php echo $forms[2]; ?>" class="<?php echo $forms[2]; ?>">three</li>
   <li id="two" name="two" value="<?php echo $forms[3]; ?>" class="<?php echo $forms[3]; ?>"> four  </li>
   <li id="twoa" name="two_a" value="<?php echo $forms[4]; ?>" class="<?php echo $forms[4]; ?>">five</li>
   <li id="twob" name="two_b" value="<?php echo $forms[5]; ?>" class="<?php echo $forms[5]; ?>"> six </li>
</ul> 

файл() php include():

<?php
$forms = array('fish','bird','tiger','dog','cat','elephant');
?>

Теперь используя $( "#sections").sortable({... method, я могу, например, заменить <li>six</li> на <li>two</li>. В этом случае это означало бы перекладывая bird со elephant.

Проблема в том, что когда я использую это в приложении <form> и POST его в файл example.php переменная $_POST отправляет свой первоначальный заказ.

Итак, в этом случае $_POST['one-a']; по-прежнему возвращается bird не elephant. Я использовал элемент проверки в своем браузере и увидел, что id и name перемещаются с помощью свопа. Так что #onea и #twob переместились.

Что я хочу сделать, это сохранить id и name заказа на месте и только имеют value изменения, когда замена производится.

Таким образом, в этом сценарии elephant будет размещен для нового id onea и name one_a.

Это возможно?

Спасибо за любую помощь.

  • 0
    Почему бы вам не передать внутри элемента значения имя «птица» с подчеркиванием и номером позиции? Таким образом, вы можете решить свои проблемы нет?
  • 0
    попробуй разобраться с самого php. как $ form = sort ($ form);
Показать ещё 3 комментария
Теги:
jquery-ui-sortable

1 ответ

0

Я смог использовать обходное решение, чтобы получить текущее value. Используя JQuery и $.ajax() я разместил data после различных операторов if/else.

Так что в основном это было что-то вроде этого;

JS:

var firstone = $('#sections #one');
var firstoneextra = firstone.hasClass("ui-selected");

if (firstoneextra){
    var newone = //take the new selected value.
}else{
    var newone = //keep the value it has already.
}...

и при обработке данных через $.ajax();

(образец):

data: 'one=' + newone ...

Это было бы либо POST новое значение, если оно было выбрано, либо POST значение, которое оно уже должно было начинать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню