У меня возникла проблема с использованием jQuery для извлечения элемента Span из шаблона. Вот мой код:Как получить текстовое содержимое диапазона в шаблоне
Template.item.events({
'click .remove':function(event,tpl){
Meteor.call('tasks.remove',this._id);
var docEmail=tpl.find('#DocName');
alert(docEmail.text());
Meteor.call('doc.removeAuthorization', docEmail, this._id);
},});
Мое определение шаблона:
<template name="item">
<li class="{{#if ischecked}}mychecked{{/if}}">
<input type="checkbox" checked="{{ischecked}}" class="check-box"/>
<strong><span name="DocEmail" id="DocName">{{content}}></span></strong>
<span> {{CreatTime}}</span>
<button class="remove">×</button>
</li></template>
Вот как шаблон находится в теле:
<ul>
{{#each tasks}}
<li>{{> item}}</li>
{{/each}}
</ul>
Я прочитал много сообщений о том, как для использования jquery или jscript для получения текста диапазона. Кажется, я пробовал их всех. Все дали мне подобную ошибку:
body.js: 162 Uncaught TypeError: Не удается прочитать свойство 'текст' в нуль
Я также попытался использовать и tpl.find ("DOCNAME."). Получил такой же тип ошибки.
Также попробовал tpl. $(). Такая же ошибка.
Это потому, что элемент span не существовал при вызове функции template.find()?
Но я видел людей, использующих аналогичный код, чтобы получить элемент DOM (кроме текста диапазона) с успехом.
Я думал, что мои задачи.remove могут удалить текст перед вызовом jQuery. Поэтому я изменил порядок вызова двух Meteor.call s. Это так:
Template.item.events({
'click .remove':function(event,tpl){
Meteor.call('tasks.remove',this._id);
var docEmail=tpl.find('#DocName');
alert(docEmail.value);
Meteor.call('doc.removeAuthorization', docEmail, this._id);
},});
Теперь я получаю неопределенное предупреждение. Если я использую docEmail.val() или docEmail.text(), я получаю: "docEmail.val() не является функцией.".
Надеюсь, вы, ребята, можете пролить свет на него! Спасибо!
ли у разместило внутри Jquery готового события? –
@RIYAJKHAN Спасибо, что упомянули об этом. Нет. Я не помещал код внутри события jquery ready. Я новичок в jQuery. Даже не слышал о событии jQuery. Я пробовал, и это сработало! Спасибо! – MegaChunk