Отказ от ответственности: впервые слышу о jQuery-tmpl, когда читаю ваш вопрос.
Основываясь на моем понимании вашей проблемы, я бы попытался структурировать создание экземпляра своего виджета таким образом, чтобы изменения были настроены на автоматическое и широкое изменение всех элементов на любой странице, соответствующих определенным параметрам.
Вы можете включить в свою среду функцию инициализации пользовательского интерфейса, которая при вызове просматривает все элементы DOM, о которых вы говорите, а затем превращает их в виджеты пользовательского интерфейса jQuery. Поток пойдет что-то вроде ..
- jQuery-tmpl выполняет преобразование всех ваших данных в соответствующий шаблонный вывод.
- После того, как jQuery-tmpl запустил свой курс, выполняется вызов вашего метода создания экземпляров - скажем, "renderUI ()".
jQuery-tmpl выложит ряд структурированных элементов на основе ваших данных ...
<div class="some-widget">
<input name="NameField"/>
<button class="reset-button">reset</button>
<button class="save-button">Save</button>
</div>
<div class="tabbed-widget">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
Метод создания экземпляров может выглядеть примерно так ...
function renderUI() {
$('.some-widget > .save-button').button({/* options */});
$('.tabbed-widget > ul').tabs({/* options */});
/* ... continue any other types of widget instantiation ... */
}
Если вы создаете экземпляры элементов пользовательского интерфейса, выбранных по классу, а не по ID, вы можете поместить в документ столько, сколько хотите, и все они будут созданы "сразу", поскольку jQuery выберет все из них и примените к ним конструктор виджета пользовательского интерфейса.
Если вам нужно выполнить некоторый код предварительной обработки (например, jQuery-tmpl) до того, как эти виджеты будут созданы, вы можете инкапсулировать свою инициализацию виджетов и вызвать ее, как только вся обработка jQuery-tmpl закончится.
В любом случае, надеюсь, это поможет!
P.S. Может быть, это что-то, связанное с jQuery-tmpl (хотя я не могу понять, что), но похоже, что ваш виджет состоит из элементов DOM внутри тега скрипта. Что-то в этом мне кажется крайне нерегулярным; P