JQuery-UI-вкладки вмешательства в содержание - PullRequest
5 голосов
/ 13 октября 2011

Я использую jquery-ui-tabs, чтобы позволить пользователям создавать свои собственные вкладки, а затем переключаться между вкладками, как они считают нужным. Содержимое в виджетах - это маленькие виджеты, которые сами по себе похожи на мини-программы. Пользователи могут затем выбирать, какие виджеты они хотят на любой вкладке.

Это прекрасно работает, если любой заданный виджет установлен только на 1 вкладке, однако, если какой-либо виджет добавляется на 2 или более вкладок, все идет не так, как надо. Когда виджеты генерируются, они используют идентификатор из базы данных. Например . Если данный виджет добавляется в 2 или более вкладок, они заканчиваются 2 делениями с идентичным идентификатором id, например widget_1, что вызывает проблемы, как вы можете себе представить.

Итак, мой вопрос: как лучше всего решить эту проблему?

Хотелось бы знать раньше, что они хотят иметь возможность использовать один и тот же виджет на более чем 1 вкладке. У меня такое ощущение, что это почти полное переписывание ...

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

имеет ли "div с именем div1" значение "div1" как class или id ?

Ваш вопрос звучит так, как будто это id и в этом вся проблема: идентификатор должен быть уникальным

, чтобы решить эту проблему, работать с классами - их можно использовать несколько раз, и вы должны быть в состоянии делать точно такие же вещи(но это трудно сказать, не видя некоторый код).

РЕДАКТИРОВАТЬ: изменил мою первую ссылку, чтобы показать рекомендацию w3c.я связал эту статью до

0 голосов
/ 13 октября 2011

Не рекомендуется иметь одинаковые id на одной и той же странице, но у вас вообще не должно быть проблем с этим, все, что вам нужно сделать в вызовах javascript, это добавить вкладку самостоятельно, например:

$(".tab-1 #div1")... вместо только $("#div1")...

тем не менее, я бы всегда избегал иметь одинаковые id и "говорил бы" вашему генератору использовать div1-random-number и всегда использовал бы класс, чтобы получить виджет, используя текущую вкладку, как видно из кода выше

Живой пример на JsBin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...