Перейти к содержимому


Фотография
- - - - -

Сгруппировать повторяемые типы


  • Закрытая тема Тема закрыта
Сообщений в теме: 12

#1 Vital

Vital

Отправлено 14 January 2013 - 09:21

Всем здрасьте!  :)
Нужно сделать вот такое:
пользователь через submission будет отправлять ссылку и описание к этой ссылке (типы соответственно Ссылка и Текст). Так вот вопрос - как можно сгруппировать эти 2 (или более) типа в один повторяемый тип?

Типа вот так должно получиться:
Ссылка1, описание1    Добавить еще
Ссылка2, описание2    Добавить еще

  • 0

#2 SmetDenis

SmetDenis

Отправлено 14 January 2013 - 17:50

Только писать собственный элемент с наследованием от /media/zoo/elements/repeatable
"По быстрому" не получится.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Vital

Vital

Отправлено 24 January 2013 - 07:58

Написал собственный элемент. Все нормально. НО какой-то непонятный косяк возникает - при выборе следующего поля для заполнения курсор перескакивает на первое поле. В Опере все нормально, а в хроме и фаерфоксе наблюдается эта грабля!
Денис, не могли бы Вы взглянуть? ;)
http://usa.itservice...sion&Itemid=258
  • 0

#4 RomanL

RomanL

Отправлено 24 January 2013 - 12:01

Потому что все поля лежат в одном <label>
  • 0
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]

#5 Vital

Vital

Отправлено 24 January 2013 - 18:42

Тегом <label> должен быть обрамлен весь элемент повторяемых типов или каждый тип? Поясните пожалуйста! ;)
  • 0

#6 RomanL

RomanL

Отправлено 24 January 2013 - 19:58

http://htmlbook.ru/html/label
  • 0
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]

#7 Vital

Vital

Отправлено 07 February 2013 - 05:16

С написанием собственного элемента разобрался! Остался только один вопрос - как "отловить" событие добавления или удаления repeatable элемента через java-скрипт?
  • 0

#8 SmetDenis

SmetDenis

Отправлено 07 February 2013 - 17:43

С написанием собственного элемента разобрался! Остался только один вопрос - как "отловить" событие добавления или удаления repeatable элемента через java-скрипт?

На какой странице? Тригеры Zoo не подходят?
Что вы конкретно хотите сделать? ... возможно есть более простое решение.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 Vital

Vital

Отправлено 08 February 2013 - 04:18

Я сделал собственный повторяемый элемент  с наследованием от /media/zoo/elements/repeatable.
В файле elements/"тип_элемента"/tmpl/edit.php добавил обработчик для каждого поля повторяемого элемента:
<script type="text/javascript" language="javascript">
jQuery(function($) {
		$('.item_name').live('click change keyup', function(){
			order_calc();
		});
		$('.item_price').live('click change keyup', function(){
			order_calc();
		});
		$('.item_count').live('click change keyup', function(){
			order_calc();
		});
		$('.item_weight').live('click change keyup', function(){
			order_calc();
		});
});
</script>
Функция order_calc() пересчитывает все заполненные поля всех повторяемых элементов и выводит таблицу со стоимостью. Мне нужно вызвать функцию order_calc() после удаления повторяемого элемента, чтобы пересчитать стоимость.
Изображение
  • 0

#10 SmetDenis

SmetDenis

Отправлено 09 February 2013 - 06:23

У иконки "удалить" есть свой класс "delete". Сделайте бинд так же как и на остальные элементы.

$('.element-<ВАШ ЭЛЕМЕНТ> .delete').click(function(){ ... })

PS смущает меня ваш JS код.... ой как смущает.
- лучше все сделать плагином jQuery и пересчет производить внутри объекта
- заключить все одно пространство имен, тоже и про бинды событий
- live - не актуален, лучше использовать делегирование
- почему не совместить все селекторы в один
- ... могу продолжить список))



  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!