Я пытаюсь понять, почему значение e.target.getAttribute ('data-text') становится равным нулю, когда я перехожу из своего HTML в свой JS-файл Backbone.Backbone.js получает целевой атрибут
HTML:
<script type="text/template" id="lesson-template">
<span id="lesson-title"><%= tracks[0].title %></span>
<select class="sel">
<% _.each(tracks, function(track) { %>
<option value = "<%= track.text %>" data-text="<%= track.title %>"><%= track.title %></option>
<% }); %>
</select>
<p id="tracktext"><%= tracks[0].text %></p>
</script>
JS:
window.LibraryLessonView = LessonView.extend({
events: {
"change .sel " : "changeText"
},
changeText: function(e) {
alert(e.target.getAttribute('data-text')); //I am getting a null value here!
document.getElementById("lesson-title").innerHTML= e.target.getAttribute('data-text'); //I am getting a null value here as well
document.getElementById("tracktext").innerHTML= e.target.value;
}
Любое разъяснение или помощь будет оценена !!
Используя ваш код javascript, если бы я сказал var Tracks = Backbone.Collection.extend ({model: Track, url: ссылка на некоторый файл JSON}); Я создаю коллекцию треков таким образом. Как бы я работал с линией var v = new LibraryLessonView ({collection: tracks}) ;? – Robs
@ Robs: Я не уверен, что вы просите. Вам нужно «var tracks = new Tracks» создать экземпляр коллекции, а затем 'track.fetch()' для загрузки данных. –