首页 > 解决方案 > 文档未在循环内更新

问题描述

更新函数在包含选定选项数组的循环内不起作用。没有循环它正在工作,我已经检查过该数组是否包含正确的值。

html代码:

<div class="col-sm-4">
     <select multiple class="form-control" id="studentcontainer">

     </select>
</div>

JAVASCRIPT:

    db.collection('Parent').get().then(snapshot => {

        snapshot.forEach(doc => {

            var data = '<option value="' + doc.data().uid + '">' + doc.data().student_name + " - " + doc.data().student_admno + '</option>';
            document.getElementById('studentcontainer').innerHTML += data;

        });

    });

`

function assignStudent() {
        var e = document.getElementById("driverscontainer");
        var driverid = e.options[e.selectedIndex].value + "";
        var selectedElement = document.getElementById('studentcontainer');
        var selectedOptions = selectedElement.selectedOptions || [].filter.call(selectedElement.options, option => option.selected);
        var selectedValues = [].map.call(selectedOptions, option => option.value);
        for (index = 0; index < selectedValues.length; index++) {
            console.log(selectedValues[index]);
            var studentdriver = {
                did : driverid,
                sid : selectedValues[index]
            }
            db.collection("AssignedStudents").doc(driverid).set(studentdriver).then(function() {
            alert("Student Assigned Successfully");
        });
            var docRef = firebase.firestore().collection("Parent").doc(selectedValues[index]).update({
                isAssigned: true
            });

        }

        alert("Students Assigned Successfully");

    }

标签: javascriptgoogle-cloud-firestore

解决方案


推荐阅读