2015-08-30 1 views
1

Использование {{для каждого}} руля для итерации по коллекции MongoDB в Meteor JS.Data отображается тонкая внутри кнопок.Пытаясь прочитать теги div, отдельные друг друга разделяют один и тот же класс в метеор JS Шаблон

Проблема заключается в том, как читать текст, связанный с кнопкой класса btn-correctOption. из-за #each У меня есть более одной кнопки, связанной с классом btn-correctOption.

  1. quizDisplaySection.js Файл
    quizDisplaySection Шаблон

    <template name="quizDisplaySection"> 
        <div class="container"> 
         <div class="row"> 
          <div class="col-md-12"> 
           <ul>{{#each questions}} 
            <br>{{> question}} 
            <br>{{/each}}</ul> 
          </div> 
         </div> 
        </div> 
    </template> 
    
  2. Вопрос Файл шаблона

    <template name="question"> 
        <div class="row"> 
         <div class="col-md-12"> 
          <button type="button" class="btn btn-info btn-block btn-quiz" disabled>{{Quiz}}</button> 
         </div> 
         <div class="col-md-12"> 
          <button type="button" class="btn btn-danger btn-block btn-option">{{Option1}}</button> 
         </div> 
         <div class="col-md-12"> 
          <button type="button" class="btn btn-danger btn-block btn-option">{{Option2}}</button> 
         </div> 
         <div class="col-md-12"> 
          <button type="button" class="btn btn-danger btn-block btn-option">{{Option3}}</button> 
         </div> 
         <div class="col-md-12"> 
          <button type="button" class="btn btn-danger btn-block btn-option">{{Option4}}</button> 
         </div> 
         <div class="col-md-12"> 
          <button type="button" class="btn btn-danger btn-block btn-correctOption hide">{{OptionCorrect}}</button> 
         </div> 
         <div class="col-md-12"> 
          <hr width="75%"> 
         </div> 
        </div> 
    </template> 
    

    Я пытаюсь прочитать значение кнопки класса btn- Колорадо rrectOption, но у меня есть более одной кнопки с классом btn-correctOption из-за рендеринга #each.

3.quizDisplaySection.js

"click .btn-option": function(evt,tmp){ 
    var qds_correctOption = $(".btn-correctOption").text(); 
    alert(qds_correctOption);  
} 

qds_correctOption дать мне строку whic комбинируется значение всего текста в кнопке с классом БТН-correctOption.any способ решить эту проблему

ответ

0

Попытайтесь использовать: template.$(selector):

Найти все совпадения по последовательности элементов в этом экземпляре шаблона,
и возвращают их как объект JQuery.

Template.question.events({ 
    'click .btn-option': function(evt, tmp) { 
    var current_option = $(evt.currentTarget).text(); 
    var qds_correctOption = tmp.$(".btn-correctOption").text(); 
    console.log(current_option, qds_correctOption); 
    } 
}); 
+0

Max Я ценю ответ, но все же я получаю объект JQuery с комбинированным содержанием, например, для qds_correctOption дают значение SamsungApple, я хочу способ отделить Samsung и Apple, и хранить их отдельно в качестве diffrent переменной – SandeepC

+0

С для каждого такого же имени класса элементов dom, то есть кнопок, поэтому любым способом я могу отображать элементы из коллекции, используя для каждого, а затем получать различное значение, на основе которого я нажимаю кнопку – SandeepC

+0

. Это представляется возможным для меня. Убедитесь, что событие click находится внутри 'Template.question.events', а не внутри' Template.quizDisplaySection.events'. Да, вы можете получить другое значение, на основе которого вы нажимаете кнопку, просто используя 'event.currentTarget'. Просмотрите мое новое редактирование. – Max

Смежные вопросы