best_in_place在更新后保留原始值
问题描述:
我正在使用best_in_place在ruby-on-rails应用程序中对数据表 进行页内编辑。就地编辑工作,但我有一个 失败的角落案件。该行中的一对项目(device_name, generic_name)必须是唯一的。如果它们不是唯一的,则服务器端 代码将具有改变的generic_name的一组名称返回,以使 该对是唯一的。我使用以下coffeescript更新 显示屏。best_in_place在更新后保留原始值
jQuery ->
$('.best_in_place[data-bip-object="full_dpoint"]').bind(
"ajax:success", (event, d) ->▫
return if ! d?
data = JSON.parse(d)
if ! data.dpoint?
return
else
item_to_edit = "#best_in_place_full_dpoint_" + data.dpoint.dpoint_id + "_generic_name"
$(item_to_edit).text(data.dpoint.generic_name)
)
此代码的工作(即它正确地更新与服务器提供 新的通用名称的页面),但如果我再点击回到“generic_name” 场,(进入编辑模式),默认的编辑文本将变回 到最初的状态(页面下载时间)。我有 尝试了许多不同的页面元素设置为新 总称,包括所有的以下内容:
$(item_to_edit).attr('data-bip-original-content', data.dpoint.generic_name)
$(item_to_edit).attr('data-bip-value', data.dpoint.generic_name)
$(item_to_edit).attr('original-value', data.dpoint.generic_name)
$(item_to_edit).attr('bipValue', data.dpoint.generic_name)
$(item_to_edit).attr('bipvalue', data.dpoint.generic_name)
一切都无济于事。我试图找到原始值 可能存储在哪里,但是除此之外没有发现任何其他值。
任何想法?
TIA。
伦纳德
答
试试吧
的javascript:
$(document).ready(function() {
/* Activating Best In Place */
jQuery(".best_in_place").best_in_place();
var old_value;
$(document).on('change', '.not_abort', function (e) {
console.log(e.target.value);
old_value = e.target.value;
});
$(document).on('ajax:error', '.not_abort', function (e) {
console.log(e);
e.target.innerHTML = old_value;
$(e.target).data('bipOriginalContent', old_value);
});
})
观点:
best_in_place @device_name, :email, class: 'not_abort'
+0
不工作...再试一次? – Leonard
快速的问题...值获取的page..what改变之后你得到如果你做一个页面重新加载?它是否显示您的JavaScript代码正在改变的值,还是会回复原来最好的旧字段? – uday
重新加载后,它会正确显示更改后的值。我还应该补充一点,我不需要重新加载页面以获取更改后的值,如果我只是在“编辑”框外单击,也会返回到正确(更改)的值。 – Leonard