0

JEDITABLE リンク: http://www.appelsiini.net/projects/jeditable

私のjquery関数は次のとおりです。

$(document).ready(function() {
     $('.edit').editable('http://myWebsite/save.php');
 });

ページが読み込まれると、次のように見える div があります。

<div class="edit" id="specs_1851_title" style="color:#C300D9">Starting Text</div>

jeditableを使用すると、クリックして変更し、変更を保存できます...これはすべて正常に機能します(アイテムがデータベースとすべてで変更されたことがわかります)

さて、値が保存された後、jeditable はテキスト入力ボックスを取り除き、新しく入力されたテキストを表示することになっています...代わりに、私はこれを取得します:

<div class="edit" id="specs_1850_title" style="color:#C300D9">Click to Edit</div>

jquery.jeditable.js ファイルを開き、「クリックして編集」を検索しました。表示される唯一の場所は、一般にアクセス可能なデフォルトの下です。

$.fn.editable.defaults = {
    name       : 'value',
    id         : 'id',
    type       : 'text',
    width      : 'auto',
    height     : 'auto',
    event      : 'click.editable',
    onblur     : 'cancel',
    loadtype   : 'GET',
    loadtext   : 'Loading...',
    placeholder: 'Click to edit',
    loaddata   : {},
    submitdata : {},
    ajaxoptions: {}
};

誰もこの問題に遭遇したことがありますか? もしそうなら、解決策は何ですか?

更新 質問を投稿した直後に、「私の「save.php」は、データベースで更新する値を単純にエコーできるのではないかと思いました。したがって、mysqlクエリを実行してデータベースを更新した後、次を入力しました。

echo $value;

そして、それはうまくいきました。ちょっと変わった回避策 - そして、それがうまくいくはずの方法ではないと確信していますが、他の誰かが私が抱えているのと同じ問題に遭遇した場合、ハックソリューションがあります.

4

1 に答える 1

0

save.php スクリプトに結果をエコーさせる必要があります。これは回避策ではありません。

同じ質問に出くわしましたが、現時点では説明ページが明確でないことに同意します。しかし、彼らが提供する Live Demo ( http://www.appelsiini.net/projects/jeditable/default.html ) に飛び込み、save.php スクリプトをテストした後、送信された値もエコーしていると結論付けました。したがって、これは要件でなければなりません。

「クリックして編集」コンテンツは、コンテンツが利用できない場合に表示するテキストを定義するプレースホルダー オプションによって発生します。スクリプトはコンテンツを返さないため、このプレースホルダー値をロードします。自分で指定しないでください。

于 2014-02-26T12:43:40.997 に答える