Установка данных для элемента с помощью jquery.tmpl - PullRequest
1 голос
/ 22 марта 2012

Я установил данные для элемента div и добавил их к другому элементу div, например,

var dt = { id: 0 };
$.template("temp", '<div id="div2" >${id}</div>');
$.tmpl("temp", dt).appendTo("#div1");

Работает нормально. Я добавляю его в документ готовый метод.

Мое требование: событие щелчка мыши (div2), к которому я должен получить доступ.

Возможно ли это?

Вопрос 2: я установил эти данные для множества элементов. Как получить эти элементы?

Заранее спасибо.

1 Ответ

2 голосов
/ 22 марта 2012

Вы можете использовать $. TmplItem :

var dt = { id: 222, text: 'My value id 222' };

$.template("temp", '<div class="innerDiv" >${id}</div>');
$.tmpl("temp", dt).appendTo("#div1");

$(document).on('click', '.innerDiv', function() {
    // gets the data item associated to the rendered template
    var dataItem = $.tmplItem(this);
    // dataItem.data holds the data itself
    alert(dataItem.data.text);
});
​

DEMO


Для второговопрос, я не знаю, как легко получить список визуализаций конкретного шаблона с помощью API.

Что вы можете сделать, это добавить атрибут data- к разметке вашего шаблона, который позволил бывы можете легко их извлечь:

$.template("temp", '<div id="div2" data-tmpl="temp">${id}</div>');

Затем вы можете выбрать все визуализации, которые имеют атрибут «data-tmpl» со ​​значением «temp»:

$('[data-tmpl="temp"]')

Я обновил демотаким образом.

Возможно, есть какой-то другой способ, но я хорошо знаком с шаблоном jQuery.

...