0

通过jQuery-TokenInput pre_populated 数据集更改,我得到了意想不到的结果。
我遵循Railscasts - Token Fields并使用Railscasts - Token Fields Revised source code acc更新了必要的代码。到最新的 Rails 版本。

我处理令牌搜索查询的咖啡脚本代码是:

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

我奇怪的结果是:

  1. 案例1:[初始案例][正确]
    当令牌字段为空时,即没有预先填充的数据,我输入任何没有。令牌,我在我的服务器端操作中获得了与令牌相关联的 ID,这是正确的。

  2. 案例2:[结束案例][正确]
    当我删除之前输入的所有ID,即删除所有预先填充的数据时,我得到了0ID,这也是正确的。

  3. 案例3:[失败案例][错误]
    当令牌输入中已经有值并且我更新它们时,例如添加更多令牌,删除一些现有令牌,我只获得添加的令牌的ID当前的编辑会话。对 query-tokenInput 中的预填充数据所做的更改不会发送到服务器端操作。

我确定我在这里遗漏了一些细节设置,但我无法找到并修复它。
如果您需要更多信息。要找到问题,请告诉我。

4

2 回答 2

2

用这个

                $(elementId).tokenInput("",
                {
                    prePopulate:JSON.parse(YourJsonFormatStringHere)
                });
于 2013-01-16T11:59:41.183 回答
0

这对我来说是一个错误,而且确实是一个愚蠢的错误。
prePopulate: $('#user_tracker_ids').data('load')

prePopulate调用的输入中,正在发送的数据不完整。我只传递了 对象的名称字段,没有传递id字段。

因此,token-input 能够正确显示预填充数据的名称,但对其所做的任何更改都没有反映出来,正如我在上面的问题中提到的那样。

于 2013-03-01T17:31:49.033 回答