Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQ: Обернуть input в контейнер, jQuery и <input> 
V
    Опции темы
InfMag
Дата 13.8.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



Бодрого времени суток! У меня возникла некая загвоздка...
В общем мне нужно пофиксить определённые input-ы, а точнее через jQuery поставить перед каждым и после каждого инпута определённый код, например обернуть input в div-ы. Я не знаю как мне это рационально сделать, условие такое что сам html код трогать нельзя.
PM   Вверх
unicross
Дата 13.8.2009, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 6
Всего: 53



Цитата(InfMag @  13.8.2009,  17:32 Найти цитируемый пост)
условие такое что сам html код трогать нельзя.

 smile 
Цитата(InfMag @  13.8.2009,  17:32 Найти цитируемый пост)
перед каждым

before()
Цитата(InfMag @  13.8.2009,  17:32 Найти цитируемый пост)
после каждого

after()
Цитата(InfMag @  13.8.2009,  17:32 Найти цитируемый пост)
обернуть input в div-ы.

wrap()
Код

$(":input").wrap("<div></div>");

PM MAIL WWW   Вверх
InfMag
Дата 13.8.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



unicross, спасибо, как-то даже недодумался. 
PM   Вверх
InfMag
Дата 14.8.2009, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



Возникла проблема, использую before & after. Вот имею такой инпут:
Код

<div class="styledform">
...
<input type="text"  class="inputtext"  name="form_text_1" value="" size="50" />
...
</div>

И сам обработчик:
Код

$(".styledform input").each(
    function (i) {
        if (this.type=="text")
        {
            this.className = "sform_input-text";
            $(this).before('<table class="sform_input-text"><tr><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_l.png" style="width:8px;height:27px;" class="iePNG" /></td><td>').after('</td><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_r.png" style="width:8px;height:27px;" class="iePNG" /></td></tr></table>');
        }
    }
);

Трабл в том, что после before-а не закрытые теги закрываются сами и получается в выводе уже такой вот код: (получил код выделенного фрагмента в ff)
Код

<table class="sform_input-text"><tbody><tr><td width="8"><img src="/bitrix/templates/ufms86/images/inputs/input-text_l.png" style="width: 8px; height: 27px;" class="iePNG"></td><td></td></tr></tbody></table><input class="sform_input-text" name="form_text_1" value="" size="50" type="text"><img src="/bitrix/templates/ufms86/images/inputs/input-text_r.png" style="width: 8px; height: 27px;" class="iePNG"></td></tr>

Как сделать так, что бы теги принудительно сами без моей воли не закрывались?
PM   Вверх
unicross
Дата 14.8.2009, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 6
Всего: 53



Цитата(InfMag @  14.8.2009,  14:35 Найти цитируемый пост)
использую before & after. Вот имею такой инпут:

То что они закрывают все незакрытые теги это нормально. Для вложения предназначен метод wrap().

Можно попробовать так:
Код

            this.className = "sform_input-text";
            $(this).wrap("<div id='div1'></div>");
            var elem = $("#div1").html();
            $("#div1").replaceWith('<table class="sform_input-text"><tr><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_l.png" style="width:8px;height:27px;" class="iePNG" /></td><td>' + elem + '</td><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_r.png" style="width:8px;height:27px;" class="iePNG" /></td></tr></table>');


Это сообщение отредактировал(а) unicross - 14.8.2009, 16:13
PM MAIL WWW   Вверх
InfMag
Дата 14.8.2009, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



unicross, и как тут в данном случае применить wrap()? Я пытался весь код заключить во wrap(), но результат был нулевым, никак не отреагировал элемент:
Код

$(this).wrap('<table class="sform_input-text"><tr><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_l.png" style="width:8px;height:27px;" class="iePNG" /></td><td></td><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_r.png" style="width:8px;height:27px;" class="iePNG" /></td></tr></table>');

Может есть вариант получить HTML код самого элемента?
PM   Вверх
unicross
Дата 14.8.2009, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 6
Всего: 53



Цитата(InfMag @  14.8.2009,  17:15 Найти цитируемый пост)
Может есть вариант получить HTML код самого элемента?

См. пример выше...

Или более простой способ:
Код

$(this).after('<table class="sform_input-text"><tr><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_l.png" style="width:8px;height:27px;" class="iePNG" /></td><td id="td_' + i + '"></td><td width="8"><img src="'+SITE_TEMPLATE_PATH+'/images/inputs/input-text_r.png" style="width:8px;height:27px;" class="iePNG" /></td></tr></table>');
$("#td_" + i).append($(this));


Это сообщение отредактировал(а) unicross - 14.8.2009, 16:52
PM MAIL WWW   Вверх
InfMag
Дата 15.8.2009, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 2
Всего: 4



unicross, спасибо! Первый вариант оказался предпочтительнее.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.