2011-08-31 85 views
0

這真的很奇怪。我會讓代碼進行談話。爲什麼我的全局變量爲空? javascript/jeditable

var update_address = location.href+"/update.json" 
var currentPageId = null; 

$(document).ready(function() { 

    $('.editable-td').click(function(){ 
     currentPageId = this.id; 
     console.log(currentPageId); 
    }); 

    $('.editable-td').editable(update_address, { 
     submitdata:{ 
      pageID: currentPageId //This is the part to watch 
     }, 

     type  : 'textarea', 
     cancel : 'Cancel', 
     submit : 'OK', 
     tooltip : 'Click to edit...' 
    }); 
}); 

第一個函數將變量定義爲currentPageId並將其打印到控制檯上。但是當我嘗試將它傳遞給可裁剪函數時,它會顯示爲空。有任何想法嗎?

+0

Wheres the click event? – Jack

+0

那麼,那麼作品呢?這正是我要建議的。 – Jack

+0

@傑克的問題很模糊。我已經重寫它來更詳細地解釋它。基本上我不能通過id到可調。儘管我早先在代碼中聲明瞭它。 – OVERTONE

回答

0

我以前使用過這個插件。使用功能,而不是網址:

$('.editable-td').editable(function(value, obj){ 
     var self = this; //this is the `.editable-td` that was clicked 
     console.log(self, obj, value); 
     //now use jQuery's $.post with the url and the result 
     $.post(update_address, {pageID: self.id, submit_value: value}, 
       function(data){ 
        //do something with data 
       }); 
     return value; 
},{ 
    type  : 'textarea', 
    cancel : 'Cancel', 
    submit : 'OK', 
    tooltip : 'Click to edit...' 
}); 
+0

任何想法,爲什麼編輯textarea不會關閉後,我點擊提交? – OVERTONE

+0

記得'返回值;'在函數中(現在加上那個) – Neal

相關問題