jQuery .on()里面的变量没有更新

时间:2013-07-15 18:27:43

标签: javascript jquery html

好的,我有一个看起来像这样的jQuery .on()函数....

$("#grid").on('rowdoubleclick', function(event) {

    var appData = $("#grid").jqxGrid('getrowdata', event.args.rowindex);
    var appID = appData.application_id                                                                     

    var cellClassTitle = function(row, column, value) {

        alert("VALUE: " + value + " appData.title: " + appData.title);
        if (value == appData.title) 
           {
            return "yellowCell"
            }
    }});

我的问题是,在第一次双击时,cellClassTitle函数中的appData.title变量只被评估一次。每次doubleclicked行时,cellClassTitle函数外部的appData变量都会计算,但appData.title值保持不变。每次执行.on('rowdoubleclick')函数时,如何更新它?

1 个答案:

答案 0 :(得分:1)

定义rowdoubleclick处理程序范围之外的函数,例如

var appData = appData || {title:""};
var cellClassTitle = function(row, column, value) {

    alert("VALUE: " + value + " appData.title: " + appData.title);
    if (value == appData.title) 
    {
      return "yellowCell"
    }
}

$("#grid").on('rowdoubleclick', function(event) {

    appData = $("#grid").jqxGrid('getrowdata', event.args.rowindex);
    var appID = appData.application_id

});
免责声明:这是令人讨厌的,注意不要污染全球范围! http://www.yuiblog.com/blog/2006/06/01/global-domination/