0

我得到意外的結果jQuery-TokenInput pre_populated數據集更改。
我跟隨了Railscasts - Token Fields並更新了必要的代碼Railscasts - Token Fields Revised source code acc。到最新的Rails版本。使用jQuery-TokenInput預先填充的數據更改出現意外結果

處理該令牌的搜索查詢我的CoffeeScript代碼是:

jQuery ->
$('#user_tracker_ids').tokenInput '/trackers.json'
prePopulate: $('#user_tracker_ids').data('load')
minChars: 3
hintText: "Type in name"
preventDuplicates : true

我的奇怪的結果是:

  1. CASE 1:[初始情況下] [CORRECT]
    當令牌字段爲空時,即沒有預先填充的數據,並且我輸入任何否。的令牌,我在我的服務器端操作中獲得與令牌關聯的ID,這是正確的。

  2. 案例2:結束的情況下] [正確]
    當我刪除所有的ID的進入即之前,我刪除所有的預填充數據,我得到0 IDS,這也是正確的。

  3. CASE 3失敗情況下] [WRONG]
    當存在已經值在令牌輸入,並且我更新它們,例如添加更多個令牌,刪除現有的一些令牌,我只獲取在當前編輯會話中添加的令牌的ID。對query-tokenInput中的預填充數據所做的更改不會發送到服務器端操作。

我確定我在這裏錯過了一些基本的設置,但是我無法找到它並修復它。
如果您需要更多信息。找到問題,請讓我知道。

回答

0

這是在我結束一個錯誤,確實是一個愚蠢的一個。
prePopulate: $('#user_tracker_ids').data('load')

prePopulate調用的輸入中,發送的數據不完整。我只是通過名稱字段爲對象,並沒有通過ID字段。

因此,令牌輸入能夠正確顯示預填充數據的名稱,但是對其做出的任何更改都未反映出來,正如我在上面的問題中所述。

2

使用此

   $(elementId).tokenInput("", 
       { 
        prePopulate:JSON.parse(YourJsonFormatStringHere) 
       }); 
+0

感謝您的回答。我發現了錯誤,現在它工作正常。但我不明白你的答案是什麼。 你能否詳細解釋一下你的答案。 –

+0

該函數將jason字符串轉換爲asp.net中的對象 – Atif