Javascript在第一次加载时不起作用

时间:2013-07-31 14:36:53

标签: jquery ruby-on-rails jquery-ui jquery-ui-datepicker turbolinks

我使用jquery UI datepicker并遇到问题。我的日期选择器在第一次加载时不起作用。我搜索并尝试替换document.ready for windows.load,但是也不用了:/ 我的代码是:

$(window).load(function() {
  alert('carregado!')   
  $('.datepicker').datepicker({ format: 'dd/mm/yyyy', language: 'pt-BR', autoclose: true});
  $('#status_bar').barrating( {
    onSelect: function(value, text) {
      $('#projeto_status').val(value);
    }
  });
});

我看到别人的答案,但没有人和我合作。 观察,我的项目在rails 4中,我使用turbolinks

2 个答案:

答案 0 :(得分:3)

YES!谢谢!我懂了!

我有机会看看:

var do_on_load = function(){
  alert('carregado!')   
  $('.datepicker').datepicker({ format: 'dd/mm/yyyy', language: 'pt-BR', autoclose: true});
  $('#status_bar').barrating( {
    onSelect: function(value, text) {
      $('#projeto_status').val(value);
    }
  });
}

$(document).ready(do_on_load)
$(window).bind('page:change', do_on_load)

现在,解决!! :d

答案 1 :(得分:1)

我建议您在浏览器中使用开发人员工具(F12),以确保正确加载所有脚本,并且不会遇到任何与之相关的错误。

您需要确保正在加载必要的jQuery脚本和jQueryUI脚本(按此顺序),并且在加载这些脚本之前未调用datepicker()函数:

<!-- Related jQuery and jQueryUI scripts and CSS -->
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/smoothness/jquery-ui.min.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<!-- Place any scripts related to your barrating plugin here -->

<script type='text/javascript'>
  //Shorthand for $(document).ready(){ ... }
  $(function(){
    alert('carregado!')   
    //Your DatePicker
    $('.datepicker').datepicker({ format: 'dd/mm/yyyy', language: 'pt-BR', autoclose: true});
    //Ensure that you are closing each of these properly
    $('#status_bar').barrating({
         onSelect: function(value, text) {
              $('#projeto_status').val(value);
         }
    });
  });
</script>

<强> Example