我有一个非常简单的Jquery函数,可以模仿许多在线教程中的代码,我已经看了几个类似的stackoverflow问题,但我不明白为什么当我点击链接显示时没有任何反应隐藏名为' advanced-search'的div。 (我也删除了turbolinks,但也没有任何反应。我在整个应用程序中都有其他Jquery代码,并且一切正常。)
物品/ index.html.erb
$(document).ready(function(){
$('.show-advanced-search').click(function(){
$('.advanced-search').toggle();
});
});
articles.js
'a.show-advanced-search'
将选择器缩小到jQuery(document).on 'change', 'select.sortBy', () ->
$.ajax(
url: $(this).data('url') + '?type=' + this.value
type: 'GET'
contentType: 'script'
processData: false
)
return
也不起作用。
编辑:
我有另一个名为" articles.coffee"的Jquery文件。下面有一个ajax回调,认为它可能是影响其他jQuery代码的那个。但是,我试过删除" articles.coffee"并且同样的问题仍然存在。
将articles.js中的代码复制并粘贴到浏览器控制台中。浏览器控制台没有错误。
articles.coffee
//= require rails-ujs
//= require jquery
//= require bootstrap-sprockets
//= require jquery_ujs
//= require jquery.transit.js
//= require turbolinks
//= require articles.js
//= require_tree .
我原来的application.js文件
php artisan config:clear
php artisan cache:clear
答案 0 :(得分:1)
如果您已按顺序添加ISNULL()
和NULL
。然后下一个问题可能是jquery.js
如果您正在使用它。
articles.js
注意:在Rails> = 4那里。请检查一下。
答案 1 :(得分:0)
如果在页面加载的同时加载,则不应出现任何错误。但如果这是点击按钮后出现的弹出窗口代码的一部分,你应该试试这个:
<pre>$(document).ready(function(){
// we assum the pop-up container loads at the same time the page is loaded
$('div.pop_up_container').on("click",".show-advanced-search",function(){
$(this).next('.advanced-search').toggle();
});
});</pre>
答案 2 :(得分:0)
嗨试试这个 articles.js
$(document).ready(function(){
$('.show-advanced-search').click(function(){
$('.advanced-search').toggle();
});
});
答案 3 :(得分:0)
我通过组合articles.coffee和articles.js文件来修复它。
<强> articles.coffee 强>
jQuery(document).on 'click', 'a.show-advanced-search', () ->
$('.advanced-search').toggle()
好像有两个单独的文件,甚至在application.js中都指定两个文件都不起作用。