我正在使用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。
倫納德
快速的問題...值獲取的page..what改變之後你得到如果你做一個頁面重新加載?它是否顯示您的JavaScript代碼正在改變的值,還是會回覆原來最好的舊字段? – uday
重新加載後,它會正確顯示更改後的值。我還應該補充一點,我不需要重新加載頁面以獲取更改後的值,如果我只是在「編輯」框外單擊,也會返回到正確(更改)的值。 – Leonard