我为 js.erb 文件中的部分编写了一些 jQuery。这个 jQuery 变成了通用函数,我决定将其放入资产管道中,即assets/javascripts/myfile.js
现在 JavaScript 不再工作。我可以从源代码中看到 JavaScript 正在加载到浏览器中,但它什么也没做,但它以前作为 js.erb 文件工作。
可能是什么问题呢?
在 application.js 我有
//= require jquery
//= require_tree .
这是我的js:
$(document).ready(function() {
$("#close").click(function(){
$(this).parent().parent().slideUp("slow");
});
$(function() {
$( "#datepicker" ).datepicker({
dateFormat : "yy-mm-dd"
});
});
var player_count = $("#player option").length;
$('#btn-add').click(function(){
$('#users option:selected').each( function() {
if(player_count >= 8){
$('#select-reserve').append("<option value='"+$(this).val()+"'>"+$(this).text()+" </option>");
$(this).remove();
}else{
$('#player').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
$(this).remove();
player_count++;
}
});
});
$('#btn-remove').click(function(){
$('#player option:selected').each( function() {
$('#users').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
$(this).remove();
player_count--;
});
});
$('#btn-remove-reserve').click(function(){
$('#select-reserve option:selected').each( function() {
$('#users').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
$(this).remove();
});
});
$("#submit").click(function(){
$("select option").prop("selected", "selected");
});
});
我注意到一个新的发展,js 在重新加载后工作。但是,每当第一次进入页面(直接来自链接)时,它都不起作用。