2017-02-10 3 views
1

enter image description hereЯ хочу иметь ту же таблицу значений DropDown

var songsRef = firebase.database().ref('/KTV-Bar/' + loggeduser + '/Reservations/'); 


songsRef.on('child_added', function (snapshot) { 

    mRetrieveSongs = snapshot.val(); 
    $("#dataTables").append(
    "<tr data-id='" + snapshot.key + "'>" 
     + "<td>" + mRetrieveSongs.playlistkey + "</td>" 
     + "<td>" + mRetrieveSongs.username + "</td>" 
     + "<td>" + mRetrieveSongs.numberofhours + "</td>" 
     + "<td>" + mRetrieveSongs.dates + "</td>" 
     + "<td>" + snapshot.key + "</td>" 
     // +"<td id=room>"+"</td>" 
     + "<td id=room>" + '<select id="selectRoom"></select>' + "</td>" 
     + "<td>" + mRetrieveSongs.capacity + "</td>" 
     + "<td>" + '<input type="button" value="Accept" id = "accept" onclick="writeUserData(this)" ">' 
     + ' <input type="button" value="Decline" id = "decline" onclick="myFunctionDecline(this)" ">' 
     + "<td>" + '<th> </th>">' 
     + "</td>" 
    + "</tr>" 

    ) 

}); 

var roomRef = firebase.database().ref('/KTV-Bar/' + loggeduser + '/Room'); 
roomRef.on('child_added', function (snapshot) { 

    mRetrieveRooms = snapshot.val(); 
    rooms = mRetrieveRooms.room; 


    var select = document.getElementById("selectRoom"); 
    for (var i = 0; i < rooms.length; i++) { 
     var opt = rooms[i]; 
     var el = document.createElement("option"); 
     el.textContent = opt; 
     el.value = opt; 
     select.appendChild(el); 
    } 

}); 

Я хочу иметь одни и те же данные моих выпадающие в каждой строке таблицы. Я заполнил свои выпадающие списки из данных своей базы данных, но только заполнил раскрывающийся список первой строки таблицы.

Как я могу это решить?

+0

Вы пробовали изменения select' поле 'с общим классом, а не те же идентификаторы? Несколько элементов с одинаковыми идентификаторами недействительны HTML. – Varun

+0

Независимо от параметров, которые вы получаете от данных firebase, храните их в переменной. Теперь добавьте эти переменные как 'options' в другие выпадающие меню –

+0

@KalpeshSingh, это не работает. Тем не менее, только первая строка заполняется – Earvin

ответ

0

Предполагая, что вы добавляете параметры динамически. Вы можете использовать мой код для генерации результата.

var options = ["Make", "America", "Great", "Again"]; 
 

 
var firstDropdown = document.getElementById('first'); 
 
var secondDropdown = document.getElementById('second'); 
 

 
appendOptions(firstDropdown, options); 
 

 
appendOptions(secondDropdown, options); 
 

 
function appendOptions(elem, options) { 
 
    options.forEach(function(value) { 
 
    var option = document.createElement("option"); 
 
    option.text = value; 
 
    elem.appendChild(option); 
 
    }); 
 
}
<select id="first"> 
 
</select> 
 

 
<select id="second"> 
 
</select>

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