2009-08-18 57 views
2

我一直在尋找一個非常好的,有據可查的jquery插件,它可以讓我通過單擊另一個按鈕來編輯值。使用Jeditable保存編輯值

Jeditable是我找到的最接近的,但我不知道如何讓它保存,即使在測試。快速返回值的東西。

我用這對我的PHP腳本:

function editprofile() 
{ 
    $this->input->post('value'); 
} 

這是我的JS腳本:

$("a.edit").live('click', function(){ 

    $(this).parent("li").find("span.detail").editable('profile/editprofile', 
    { 
     indicator : 'Saving...', 
     submit : 'OK', 
     tooltip : 'Click to edit...' 
    });  
}); 

這是我的HTML:

<span id="city" class="detail">Philadelphia</span> 
<a href="javascript:;" class="edit">Edit</a> 

修正: 應該PHP成爲:

echo $this->input->post('value'); 
+0

您可以擴展服務器端代碼嗎? – voyager 2009-08-18 19:38:05

回答

3

Jeditable

從Jeditable的例子:

在這個例子中load.php應該返回未呈現的XHTML標記源。不過save.php應該返回呈現的xhtml。保存瀏覽器時將顯示保存腳本返回的內容。還有另一種選擇。您可以在數據參數中傳遞標記源。

所以save.php應該返回(打印到頁)文本(而不是HTML),它會在編輯的地方進行顯示。它還應該將更改保存在數據庫或您應該執行的任何其他服務器端工作中。

You post with javascript, and echo to the client the response. http://img34.imageshack.us/img34/3412/savephp.png

save.php你做任何你存儲新值。

這裏有另一個tutorial for the in-line editor for jQuery

+0

前2個鏈接是我找到的2個,我正在使用第一個鏈接,並且該教程留下了我不確定該怎麼做的部分,這是php的一個方面。 – matthewb 2009-08-18 19:36:02

+0

你是對的,有點急於那裏。 – voyager 2009-08-18 19:37:11

+0

我想我明白了:忘了一個字 對我的php函數 echo $ this-> input-> post('value'); – matthewb 2009-08-18 19:42:05

1

toggledit有一個簡單的回調機制(onpreview,onedit)和一個簡單的公共方法api(編輯,預覽)。

要保存,您需要編寫自己的ajax函數,以便在觸發這些或其他某些事件時觸發。如果保存按鈕被點擊。

切換到編輯模式的聽衆也配置 - 你可以在你的按鈕選擇傳:

 
$(el).toggleEdit('edit'); 
$(el).toggleEdit('preview'); 

 
$(form).find('input,select').toggleEdit({ 
    listeners: { 
     edit: '#your_button' 
    } 
}); 

此外,您可以使用公共事件手動觸發從您的按鈕編輯和預覽

請參閱https://stackoverflow.com/questions/708801/whats-the-best-edit-in-place-plugin-for-jquery/:>