【问题标题】:Get value from a function that was added to click event从添加到点击事件的函数中获取值
【发布时间】:2011-04-14 09:39:05
【问题描述】:

这是准备好的文档中的代码

 $(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"
    }
});

这很好用,但是当我单击“保存”按钮时,如何在其他函数中获取此结果对象。例如,当显示颜色框模式时,用户单击保存按钮。那个时候如何获取 saveEvent 函数的返回值?

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

【问题讨论】:

  • 你想在哪里使用 saveEvent 函数的结果?
  • 这只是一个简单的例子。结果将通过 ajax 发送到 Web 服务,但我也会在页面上的一些日历 ui 中显示它们

标签: javascript jquery delegates callback


【解决方案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;
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多