Шаблоны Jquery не отображаются в IE - PullRequest
1 голос
/ 03 октября 2010

Я пытался использовать шаблоны jquery (http://stanlemon.net/projects/jquery-templates.html).

Что я пытаюсь сделать

Я пытаюсь получить массив объектов через JSON и отобразить их с помощью шаблонов jquery. Я получаю JSON следующим образом

[{"type":"todo","title":"sample task","description":"this is description","tags":["todo","delete"],"objectId":"2"},{"type":"todo","title":"Do it right now","description":"you have to do everything","tags":["todo","delete"],"objectId":"3"}]

И чтобы отобразить его с помощью плагина шаблона jquery, я делаю следующее

for(var i=0; i<data.length; i++)
{
  var task = data[i];
  //alert('hello');
  $('#tasks').append($.template(taskTemplate), task);
}

Что происходит

Это отлично работает в Firefox и Chrome, но не в IE (у меня v8). Цикл for выполняется, но в div #tasks ничего не отображается. Странная вещь, которую я заметил, заключается в том, что, если я раскомментирую предупреждение в цикле for, все объекты будут отображаться правильно после каждого всплывающего окна.

В чем может быть проблема? пожалуйста помоги! Заранее спасибо:)

Ответы [ 2 ]

0 голосов
/ 30 ноября 2012

Я только что нашел ошибку в оригинальных шаблонах jquery :

просто сохраните файл и отредактируйте его:

в строке 428 заменить

pntItem && pntItem.key != pntNode

с

pntItem != undefined && pntItem.nodes != undefined && pntItem.key != pntNode

Это сработало для меня (протестировано с IE9: IE9 выдавал мне ошибку именно в этой строке в моем скрипте)

0 голосов
/ 14 апреля 2012

У меня была точно такая же проблема. Моя проблема заключалась в том, чтобы удалить пустой тег div с чистым классом. попробуйте удалить элементы один за другим, пока не появится разметка. Работал на меня.

Я вижу, jquery шаблоны пока находятся в бета-версии. Вы можете перейти к шаблонам knockoutjs или handlebarsjs js, которые по состоянию на 14/04/2012 имеют активную поддержку.

Возможно, не технический ответ, который вы искали, но надеюсь, что он поможет.

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