首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery-select2和rails表单验证错误问题

jquery-select2和rails表单验证错误问题
EN

Stack Overflow用户
提问于 2013-12-29 02:03:26
回答 1查看 714关注 0票数 0

我在rails窗体上使用select2 jQuery插件在多选字段上自动完成。如果页面上没有验证错误,则一切正常。如果存在验证错误(与此元素无关),则javascript部分将获得一个空元素,并在JSON.parse调用中失败。

然而,使用chrome-tools检查显示表单数据在服务下具有正确的信息

代码语言:javascript
复制
services:[{"id":93,"text":"Old School"},{"id":94,"text":"Gels"}],93,94

以下是视图片段

代码语言:javascript
复制
<%= f.label :services, "Services" %>
              <input name="services" type='hidden' id='services' data-values='<%= @services %>' value='<%= @selected_services %>' style="width: 100%"/>

Javascript看起来像这样。

代码语言:javascript
复制
var initSel = function (element, callback) {
console.log("intiSel data BRFORE json parse", $(element).val());
try {
  var data = JSON.parse($(element).val());
  callback(data);
  console.log("intiSel data AFTER json parse", data);
} catch (e) {
  console.error("Parsing error:", e);
}

}

代码语言:javascript
复制
$(function() {
  $("#services").select2({
    initSelection: initSel,
    createSearchChoice: function(term, data) {
      if ( $(data).filter(function() {
        return this.text.localeCompare(term)===0;
      }).length===0) {return {id:term, text:term};}
    },
    multiple: true,
    data: function (){
      var data = $('#services').data('values');
      return {results:data};
    }
  });
});
EN

回答 1

Stack Overflow用户

发布于 2014-06-06 20:54:16

我也有同样的问题,在验证错误之后,select2输入字段无法加载数据。

我不确定它是否对您的情况有帮助,但它可以帮助其他堆栈用户在验证后处理select2错误。

在我的例子中,错误来自控制器。我使用了一个before_action过滤器来获取变量,以便为select2输入字段准备选项或数据。

我意识到我的过滤器中遗漏了一些操作,所以变量不再生成。

代码语言:javascript
复制
class MyController < ApplicationController
  before_action :prepare_data, only: [:edit, :update, :new, :create] #now I had all my actions not only edit and new for instance.

  private 

  def prepare_data
   @my_var_for_data_select2 = User.all.collect.collect{|u| u.username}
  end
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20817652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档