Как отобразить код html после извлечения данных из Firebase - PullRequest
0 голосов
/ 04 мая 2020
<script>                              
    async function getSeat() {
        let html = ''
        busid = urlParams.get('id');
        await db.collection('BookedTicketData')
        .where("BusId", "==", 
        busid).get().then((snapshot) => {
           snapshot.docs.forEach((doc) => {
               var data = doc.data()
               seat = data.AllSeat
               for(j = 1; j<=37;j++){
                   for(i = 0;i<= seat.length;i++){
                      if (seat[i] == j) {
                          html += `
                              <input 
                                 type="checkbox" 
                                 class="dncheckme" 
                                 name="s-size" 
                                 id="${j}" 
                                 value="${j}" 
                                 disabled
                              />
                              <label 
                                 for="${j}" 
                                 class="col-2 br-pill f7 m-1 btn text- 
                                     white bg-danger border- 
                                     danger grow
                                 " 
                                 data-toggle="tooltip" 
                                 title="Seat Already Booked" 
                                 disabled
                               >
                                 ${j}
                              </label>   
                           `
                        } else {
                           html += `
                               <input 
                                   type="checkbox" 
                                   class="dn checkme" 
                                   name="s-size" 
                                   id="${j}"  
                                   value="${j}"
                                />
                                <label 
                                   for="${j}" 
                                   class="col-2 br-pill f7 m-1 btn 
                                       text-dark bg-white border- 
                                       dark grow
                                   "
                                 >
                                   ${j}
                                 </label>
                             `
                        }
                     }
                     document.getElementById('loader')
                     .innerHTML = html;
                 }
              })
          }); 
      }
 getSeat();

Я применил этот код, чтобы получить данные из базы данных, чтобы получить значение, и я получаю массив мест, и в соответствии со значением места, я должен отобразить флажок, но проблема происходит, их флажок условия условия не работает должным образом (если я пытаюсь установить флажок, я не могу выбрать его), но если я использую флажок вне функции, как это, он работает нормально

<script>
    let seat;
    let html = ''
    var emp = db.collection('BookedTicketData').get()
              .then((snapshot) => {
                   snapshot.docs.forEach((doc) => {
                       var data = doc.data()
                       // console.log(data.dept);
                       // return data.AllSeat
                   })
               })
     for (j = 1; j <= 37; j++) {
         if (j != 37) {
            // console.log(seat[j])
            if (j == 1 || j == 35) {
                html += `
                    <input 
                        type="checkbox" 
                        class="dn checkme" 
                        name="s-size" id="${j}" 
                        value="${j}" 
                        disabled
                    />
                    <label 
                        for="${j}" 
                        class="col-2 br-pill f7 m-1 btn text-white bg- 
                               danger border-danger grow" 
                        data-toggle="tooltip" 
                        title="Seat Already Booked" 
                        disabled
                    >
                        ${j}
                    </label>
             } else {
                html += `
                    <input 
                        type="checkbox" 
                        class="dn checkme" 
                        name="s-size" 
                        id="${j}"  
                        value="${j}"
                    />
                    <label 
                        for="${j}" 
                        class="col-2 br-pill f7 m-1 btn text-dark bg- 
                               white border-dark grow"
                    >
                        ${j}
                    </label>
                `
             }
          }
       }
  document.getElementById('loader').innerHTML = html;

Пожалуйста, помогите мне решить эту проблему. Если я использую второй метод, как я получу массив из firebase и как использовать этот массив вне Обещания

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