每当事件被触发时,Javascript重新加载列表 - Google Drive Realtime API

时间:2014-02-16 15:30:05

标签: javascript jquery google-drive-api google-drive-realtime-api

我在Google的实时API中有一个协作列表,该列表显示在选择标签中。

目前我有这个。

var managment = (function($) {


var deadline1 = undefined;
// the name of the authenticated user - once authentication has succeeded
var username = "unkown";
var realtimeLoader = undefined;

var initializeModel = function(model) {
    var deadline1 = model.createList();
    model.getRoot().set('deadline1', deadline1);

}

var onProjectsLoaded = function(doc) {

    deadline1 = doc.getModel().getRoot().get('deadline1');
    deadline1.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED, updateUi);
    deadline1.addEventListener(gapi.drive.realtime.EventType.VALUES_REMOVED, updateUi);
    deadline1.addEventListener(gapi.drive.realtime.EventType.VALUES_SET, updateUi);

    $("#inviteId").removeAttr("disabled");
    var inviteButton = $("#invite");
    inviteButton.removeAttr("disabled");
    inviteButton.click(inviteUser);


    var saveButton = $("#save");
    saveButton.click(addProject);

    var updateButton = $("#demoListSet");
    updateButton.click(onSetItems);

    var selector = $("#demoListInput");
    selector.change(onSelect);


}

var addProject = function() {
    var title = $("#title").val();
    var date = $("#datepicker").val();
    var priority = $("#priority").val();
    var description = $("#description").val();
    deadline1.push( {
    title : title,
    date : date,
    description : description,
    priority : priority,
    } );
}

var updateUi = function(evt) {
    /*$("#demoListInput").empty();*/
    var projectList = $("#demoListInput");
    for (var index in evt.values) {
    var deadline1 = evt.values[index];
    var newOption = $("<option>").val(deadline1.title).text("Title: " + deadline1.title + "  Date:"  + deadline1.date + " Priority: " + deadline1.priority)
    }
    projectList.append(newOption);
}

我的问题在于updateUI函数。

该名单名为deadline1。当一个项目被添加到列表中时,它会在选择选项卡中更新列表但是该列表的视图,这是因为我只在显示新项目时循环遍历evt.values。我想做的是每次事件被触发时删除列表的当前视图(参见当前评论中的行),但是,每次我尝试调用deadline1来遍历它的长度时,它会回来说deadline1未定义。有办法解决这个问题吗?谢谢。

0 个答案:

没有答案