Leo*_*ard 6 ruby-on-rails coffeescript best-in-place
我正在使用best_in_place在ruby-on-rails应用程序中对数据表进行页内编辑.就地编辑工作,但我有一个失败的角落案例.行中的一对项(device_name,generic_name)必须是唯一的.如果它们不是唯一的,则服务器端代码会使用更改的generic_name传回一组名称,以使该对唯一.我使用以下coffeescript来更新显示.
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)
)
Run Code Online (Sandbox Code Playgroud)
此代码有效(IE正确地使用服务器提供的新通用名称更新页面),但如果我再单击"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)
Run Code Online (Sandbox Code Playgroud)
一切都无济于事.我在dom中试图找到原始值可能存储的位置,但除了这些之外没有找到任何其他东西.
有任何想法吗?
TIA.
伦纳德
小智 0
尝试一下
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);
});
})
Run Code Online (Sandbox Code Playgroud)
看法:
best_in_place @device_name, :email, class: 'not_abort'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |