从添加到click事件的函数中获取值

时间:2011-04-14 09:39:06

标签: javascript jquery delegates callback

这是文档准备中的代码

 $(document).ready(function {

 $('button[id$="btnSave"]').click(function() {
        saveEvent();
    });

    function saveEvent() {
        $.colorbox.close();
        result = { date: $('#txtDate').val(), description: $('#txtDescription').val() }
        return result;
    }
});

这是我需要这个结果的地方

 var calendar = $('#calendar').fullCalendar({
    editable: true,
    disableResizing: true,
    loading: function(bool) {
        if (bool) {
            $('#loading').show();
        }
        else {
            $('#loading').hide();
        }
    },
    dayClick: function(date, allDay, jsEvent, view) {


        displayInput($(this), date);// show modal

   //!!return results from modal on mouse click!!

    },
    events: {
        url: 'UserCalendarService.asmx/GetEvents',
        type: 'POST',
        dataType: 'json',            
        contentType: "application/json; charset=utf-8"
    }
});

这样可以正常工作,但是当我单击“保存”按钮时,如何在其他函数中获取此结果对象。例如,显示Colorbox模式时,用户单击“保存”按钮。如何在那时获得saveEvent函数的返回值?

稍后我需要一个回调来将此用户值放在日历ui

1 个答案:

答案 0 :(得分:1)

看似简单 - 请参阅下面的评论。

 $(document).ready(function {

 $('button[id$="btnSave"]').click(function() {
        var returnValue=saveEvent();
        //SEND return value anywhere you want.
    });

    function saveEvent() {
        $.colorbox.close();
        result = { date: $('#txtDate').val(), description: $('#txtDescription').val() }
        return result;
    }
});