【发布时间】:2014-07-21 12:33:31
【问题描述】:
目前尝试在我的 rails 应用程序中实现 Select2,以便用户可以向多个用户发送消息,我为我的应用程序调整了远程数据 example code on the site,如下所示:
$("#shareCurrentInput").select2({
placeholder: "Search for a user",
width: "350px",
multiple: true,
minimumInputLength: 3,
ajax: {
url: "search.json",
dataType: 'json',
data: function (term, page) {
return {
search: term
};
},
results: function (data, page) {
return {results: data};
}
},
formatResult: userFormatResult,
formatSelection: userFormatSelection,
escapeMarkup: function (m) { return m; }
});
function userFormatResult(user) {
var markup = "<table class='user-result'><tr>";
if (user.uid !== undefined ) {
markup += "<td class='user-image'><img src='http://graph.facebook.com/" + user.uid + "/picture?width=50&height=50'/></td>";
}
markup += "<td class='user-info'><div class='user-title'>" + user.name + "</div>";
markup += "</td></tr></table>";
return markup;
}
function userFormatSelection(user) {
return user.name;
}
这在 Safari 中可以正常工作,但在 Firefox 中,我相信由于默认情况下浏览器会缓存会话之间的输入值,因此在刷新页面和尝试选择用户时会导致问题。有没有办法阻止 Firefox 在代码中缓存它(即不要求用户在浏览器设置中关闭缓存)?或者还有其他原因该代码在 Safari 中不起作用?
我尝试过使用this code 来通过jQuery 禁用自动完成功能,但似乎没有CSS 方法可以禁用表单自动完成功能。似乎还有 issues 在 Chrome 中禁用了自动完成功能。是否有最佳的跨浏览器解决方案?在 Select2 的输入字段中,自动完成默认是关闭的,并且输入不是表单的一部分,所以 this solution 似乎是不可能的。
编辑:根据this page,问题仅在我刷新页面时,如果我在地址栏中按回车则没有问题。
【问题讨论】:
标签: ruby-on-rails firefox caching safari jquery-select2