Показать сообщение отдельно
  #1 (permalink)  
Старый 01.05.2013, 19:10
Новичок на форуме
Отправить личное сообщение для MaxXxaM Посмотреть профиль Найти все сообщения от MaxXxaM
 
Регистрация: 01.05.2013
Сообщений: 8

Замена DOM элемента другим элементом
Всем привет! Впервые задаю вопрос на данном форуме, строго не судите
Проблема заключается в следующем. Сейчас я занимаюсь стилизацией элементов select, checkbox и др. и для этого мне конечно же потребовалась замена одного DOM элемента формы на другой.
Приведу пример:

<input type="checkbox" name="tmp[]" class="my_chb">


При замене данного элемента, воспользовавшись jQuery .replaceWith() конструкцией:

<div>
   <input type="checkbox" name="tmp[]" class="my_chb">
<div>


Результат замены правильный (HTML), но происходит следующее - один DOM элемент my_chb заменяется другим элементом с тем же именем, происходит перекрытие и при подтверждении формы в массиве POST данных о том что данный checkbox установлен нет. Т.е. он ведет себя как не стандартный checkbox. Каким образом можно удалить из памяти старый элемент и заменить его новым?

Аналогичная проблема происходит с select. Только в данном случае если имя задано как sel[] - массив отправляются 2 элемента - старый и новый. Происходит наращивание, что естественно приводит к неверному результату.

Думаю, что решение не заменять элемент аналогичным, а просто скрывать и после него дописать свою структуру. Минус данного вариант в том, что придется переработать весь код что конечно же очень не хочется.

Если кто-нибудь сможет предложить вариант замены элемента одного элемента другим, буду очень признателен!
Заранее спасибо!
Ответить с цитированием