jeditable(gem "on_the_spot"を使用)を更新した後でページを更新したい。以下はページを更新する作業ですが、スクリプトが実行されると、フィールドはもはやjeditableで更新できなくなります。Rails 3のヘルプjs
application.js
$('.on_the_spot_editing').change(function() {
$.getScript('edit.js');
});
edit.js.erb
$("#items .on_the_spot_editing").change();
$("#edit_order_form").html("<%= raw escape_javascript(render('form')) %>");
コントローラ
respond_to do |format|
format.html
format.js if request.xhr?
end
フィールド
<%= on_the_spot_edit item, :price %>
EDIT -
$(document).ready(function(){
$('.on_the_spot_editing').data('ok', 'Ok').live('click', function() {
// tried $.delay(800).getScript('edit.js');
$.getScript('edit.js');
});
});
EDIT 2 - データ-OKは= "OK" HTML5マークアップしている場合は、これは、ユーザーが "OK" ボタンをクリックしたかどうかを確認するために、正しいでしょうか?
$('.on_the_spot_editing').data('ok', 'Ok').live('click', function() {
setTimeout(getIt, 500);
});
function getIt() {
$.getScript('edit.js');
}
確かにあります。 "OK"データattrを探して更新されたスクリプト。問題は、jgetitableがDBに送信される前に.getScriptが呼び出され、次の編集まで更新が表示されないということです。私はスクリプトと.jsの両方で.delayを試みましたが、どちらもうまくいかないようです。 jeditableにスクリプトをトリガするために使用できるコールバックがあるのか、それとも何か他に何かできることがあるかどうか知っていますか? – pcasa
2番目の編集を追加しました。それは正しいでしょうか? – pcasa