我正在使用jquery的標記化自動完成插件(http://loopj.com/2009/04/25/jquery-plugin-tokenizing-autocomplete-text-entry)。雖然我主要使用Ruby,但我對JavaScript並不熟悉。jquery:預填充自動填充字段
我的基本設置是這樣的,對於一個新的空白表單工作正常:
$(document).ready(function() {
$("#tag_ids_field").tokenInput("/tags", {
queryParam: "search"
});
});
問題是當我嘗試預填充它,像編輯頁面。我試圖做這樣的事情(當頁面加載時,「#tag_ids_field」文本框包含JSON) - 這種方式在應用程序方面只是更清晰)。
$(document).ready(function() {
var tags = $("#tag_ids_field").html();
$("#tag_ids_field").tokenInput("/tags", {
queryParam: "search",
prePopulate: tags
});
});
但是,當頁面加載時,我看到它只是填充了數百個條目,讀取'undefined'。我得到這個就算我拿JSON輸出Rails提供並嘗試堅持正確的.js文件:
$(document).ready(function() {
$("#tag_ids_field").tokenInput("/tags", {
queryParam: "search",
prePopulate: "[{\"id\":\"44\",\"name\":\"omnis sit impedit et numquam voluptas enim\"},{\"id\":\"515\",\"name\":\"deserunt odit id doloremque reiciendis aliquid qui vel\"},{\"id\":\"943\",\"name\":\"exercitationem numquam possimus quasi iste nisi illum\"}]"
});
});
這顯然不是一個解決方案,我只是想這是出於無奈,我也得到相同的行爲。
我的兩個問題:
一,爲什麼我的文本框充滿「不確定」的標籤,當我嘗試預填充,我怎麼可以讓他們成功地預填充?
二,我打算在同一頁面上有這樣的許多自動填充字段(當幾個記錄一次編輯 - 他們都查詢相同的地方)。我怎樣才能讓每個自動填充字段從它自己的文本框中預先填充它的值?喜歡的東西(應用這些設置應用於所有輸入框具有一定的階級,而不是某一特定ID的一個):
$(document).ready(function() {
$(".tag_ids_field").tokenInput("/tags", {
queryParam: "search",
prePopulate: (the contents of that particular ".tag_ids_field" input box)
});
});
Flash84x:我不知道你在說什麼。 tag_ids_field不是數據庫字段 - 它是我在模型上定義的虛擬屬性。 setter(接受逗號分隔的id列表)定義記錄與數據庫中這些標記的關係。吸氣劑(其填充在文本區域在頁面加載時)可以返回它無論我想 - 現在我有它設置爲只返回JSON當前標籤數據,因爲一切都是整齊的方式。
我可以更詳細地解釋它,如果你願意,但事物的紅寶石方面效果很好,我很舒服。我根本不瞭解JavaScript,所以在獲取客戶端數據後,我需要幫助操縱數據。
沒人能回答這個問題?我認爲這對於知道JavaScript的人來說很容易。 – 2010-03-26 15:31:24