Tag: jquery

Rails – 通过选择下拉菜单执行ajax调用

我有一个包含select标签的视图,它不是表单的一部分,只是一个独立的下拉菜单。 单击其中一个选项,我想执行ajax调用 这是选择标记 这是一个基本的jquery,我试图通过它来检测变化 jQuery(function($) { console.log(‘clicked’); $(“#hiring_stage_dropdown”).click(function() { var state = $(‘select#hiring_stage_dropdown :selected’).val(); console.log(state); }); }) 但是当我选择其中一个选项没有任何反应时,我知道ajax代码不存在,但我现在想要的是在选择其中一个选项时在控制台中看到一些东西。 我在这里缺少什么? 这就是选择的样子 Hiring stage Manager Step 1 Manager Step 2

DataTables JQuery插件和Rails表样式

我上周刚拿起Ruby for Rails,我猜我的资产管道存在问题。 具体来说,我想覆盖Rails 4应用程序中DataTables表的默认样式,但更改custom.css.scss什么都不做。 样式显然来自dataTables / jquery.dataTables。 我所要做的就是对表格进行条纹处理,使交替的行具有不同的背景颜色,沿着以下行: tr.odd { background-color: pink; } tr.even { background-color: red; } 确切地说,这个datatables.css文件安装在我的应用程序的文件树中,以便我可以编辑或替换它,或者如果它不是本地的,我可以在哪里安装我自己的自定义文件来覆盖其规范? application.css: *= require_self *= require_tree . *= require jquery.ui.core *= require jquery.ui.theme *= require dataTables/jquery.dataTables 注意:如果我删除了jquery.dataTables要求,我的custom.css.scss生效。 的Gemfile: # Use jquery as the JavaScript library gem ‘jquery-rails’ # JQuery UI gem ‘jquery-ui-rails’ # Datatables JQuery plugin […]

向Spree前端添加自定义的客户端表单validation

我正在尝试在Spree的checkout/address页面的输入字段中添加自定义的客户端validation。 所以,这是我到目前为止所做的: 将输入添加到表单(这里使用Haml和SimpleForm): = form.input :vat_number, label: Spree.t(:vat_number) 在我的vendor/assets/javascripts/spree/frontend/checkout/address.js.coffee ,添加jQuery validate方法并将规则插入validate()调用: ($).validator.addMethod “vatNumber”, (value, element) -> return false , “Something wrong!” Spree.onAddress = () -> if ($ ‘#checkout_form_address’).is(‘*’) ($ ‘#checkout_form_address’).validate({ rules: { order_bill_address_attributes_vat_number: { vatNumber: true } } }) # … rest of the file … 尽管其余的表单validation有效,但validation器似乎不在vat_number字段上运行。 在javascript调试控制台中,如果我输入$.validator.methods vatNumber ,我确实看到添加了新的vatNumber方法,所以问题必须是我调用validate() ,或者与我的事实有关使用SimpleForm 。 我已经将validate()调用的代码更改为: ($ ‘#order_bill_address_attributes_vat_number’).rules(“add”, […]

jquery $ .ajax无法在firefox中使用rails(406响应)(适用于chrome和IE)

我有一个rails后端,我正在测试以下jquery代码: var content = $(“#notification_content”).val(); var data = new Object(); data.content = content; $.ajax({ url: “/notifications/detect_type.json”, type:”POST”, data: data, success: function(result ){updateTypeDropDown(result)}}); 此代码在Chrome和IE中运行良好。 但是在Firefox(使用Firebug)中,我看到: http:// localhost:3000 / notifications / detect_type.json 406 Not Acceptable 这是日志中的firefox请求: 处理NotificationsController#detect_type(适用于127.0.0.1 at 2010-12-21 17:05:59)[POST]参数:{“action”=>“detect_type”,“content”=>“226 south emerson denver co 80209”, “controller”=>“notifications”}用户列(2.0ms)显示来自users字段用户负载(37.4ms)SELECT * FROM users WHERE(users.id =’1’)LIMIT 1在58ms内完成(查看:1,DB :40)| 406不可接受[http://localhost/notifications/detect_type.json] 这是日志中的chrome请求: 处理NotificationsController#detect_type(适用于127.0.0.1 at […]

Rails ajax jquery问题

好我有这个问题我正在尝试使用Jquery加载部分替换列出的对象。 index.html.erb <div class="style_image_” > loadshow: $(function() { $(“.style_image_ a”).click(function() { $(“.style_image_”).html(“loading… “) $(“.style_image_”).html(“”) $.get(this.href, null, null, “html”); return false; }); }); _show.html.erb: 我收到这个错误: missing ) after argument list [Break on this error] $(“.style_image_”).htm…scape_javascript(render(“show”)) %>”)\n 我的代码在这里有两个问题,第一个是click函数没有定位.style_image _ …. ie(.style_image_42)如果我用42而不是_style.id替换css目标点击目标有效; 为什么是这样? 无论是否有此更改,_show partial都不会呈现,并且会给出上面的错误。 使用Javascript并不是那么好,任何帮助都会很棒! PS 我真正想要的效果就像其中一个超酷的货物主题: http : //cargocollective.com/publikspace 谢谢丹! alt text http://s3.amazonaws.com/data.tumblr.com/tumblr_kzu1cnOUUs1qbto6oo1_1280.png?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1269597925&Signature=XuwwBhKKCKu3FWGpmqXmBqwxzS0%3D

render:partial在escape_javascript上只生成一次

render:partial在escape_javascript上只生成一次 例如 $(document).ready(function(){ $(“#addPerson”).click(function(){ $(“#user tr:last “).after(” ‘user_item’, :locals =>{:user_item => User.new}) %>”); return false; }); }); 我检查了user_item部分文件中的object_id,它显示相同的object_id,直到保存并保存最后一项。 结果 12354 每次。 请帮我解决这个问题。

数据表行延伸超过表边界,或者太窄

Ruby 2.0.0,Rails 4.0.3,jquery-datatables-rails 2.2.3(w / DataTables 1.10.1),jquery-rails 3.1.1,jquery-ui-rails 5.0.0,lodash-rails 2.4.1, bootstrap-sass 3.2.0.1 我无法让Datatables正确格式化。 列超出表单,或列太窄。 我为此尝试了一些myriead修复程序。 我已设置columnDefs和列宽。 我在表格标题中设置了HTML宽度。 我将autoWidth设置为false和true。 我已动态设置CSS宽度。 我已经安装了各种推荐的CSS修改。 我试过我能找到的一切。 令人沮丧的是,没有任何改变。 格式总是完全一样,就像它完全忽略了我的所有尝试。 这些表单配置为响应。 我也禁用了那个。 没有骰子。 除格式化外,表格完美无缺。 他们排序。 他们搜索,他们页面。 他们只是不能正确格式化。 再一次,我把它最小化为一种forms,并取出所有无关的信息无济于事。 所有的帮助表示赞赏。 表单呈现为: 部分forms是: <table id="carstable" class="display table-striped" width="80%" data-source="”> Stock No. Year Make Model Color Status Mileage MSRP Aged 数据表初始化为: $(document).ready(function () { var […]

如何通过在Rails上启用Turbolinks的AJAX正确呈现部分?

我目前正在开发一个Rails应用程序,它必须与外部Web API通信,从结果更新DB记录并异步更新视图。 我目前在做什么 我有一个list操作,我直接从数据库中显示数据,其中包含一个在分页表中发送的电子邮件列表。 呈现视图后,我需要向应用程序(在不同的路径上)发出一个AJAX请求,该请求向外部Web API发出请求,更新数据库,然后使用包含所有电子邮件的table呈现部分,同样在原始list操作上呈现的。 以下代码处理AJAX请求: # _mail_list_loader.js.erb document.addEventListener(“turbolinks:load”, function() { $.ajax({ url: ‘/certified_mail/mail_list’, type: ‘get’, data: { page: , rut: , from: , to: , ids: } }); }); 哪个响应是.js.erb呈现实际table的部分: # mail_list.js.erb $(‘#mail-list’).html(”); _mail_list_loader.js.erb在我的application.html.erb呈现: # application.html.erb … 对于首先加载表的操作和处理AJAX请求的操作,我的控制器看起来像这样: class CertifiedMailController < ApplicationController def list if params[:page].nil? || params[:page].to_i <= 0 redirect_to action: :list, […]

发出AJAX请求转到正确的URL

我在一些jquery代码中有自动完成的这个ajax请求: $.ajax({type:”POST”, url:(“showable_videos/create.js”), data:{video:{profile:val}}}); 自动填充function会作用于我的video节目视图中的字段。 因此,当它发出AJAX请求时,我收到此错误: Started POST “/videos/showable_videos/create.js” for 127.0.0.1 at Tue Apr 26 00:18:33 -0700 2011 ActionController::RoutingError (No route matches “/videos/showable_videos/create.js”): 当我希望它只是/showable_videos/create.js时,Rails会在URL之前添加/videos/ 。 我怎样才能解决这个问题?

如何在共享视图中禁用单页的Turbolinks?

我有一个Javascript,它应该在$(document).ready上工作,但它不会,因为我还必须使用turbolinks。 有没有办法为这个脚本禁用它? 或者至少,有没有办法为视图禁用它,我希望我的脚本可以工作? 遗憾的是,我的网站必须具有相同的布局文件,因为它对于企业风格很重要。 好的,我找到了一种方法,应该怎么做,但我不知道该怎么做。 在我的application.html.erb中,我有tp add <body data-no-turbolinks > 如果我在页面上,问题是,我不知道如何检查。 任何人都可以给我一个暗示吗?