做一些研究这个代码对我有用,但它在视图中,我想转移到application.js,所以我可以使用不同的形式。
另一件事是我有两个脚本做同样的事情。一个是当我点击复选框时,另一个是检查加载页面时是否已经检查过。我可以合并它们,所以我不必重复代码吗?
<script type="text/javascript">
function hideAddress()
{
if($('#same').is(":checked"))
$("#mailing-address").hide();
else
$("#mailing-address").show();
}
</script>
<script type="text/javascript">
$( document ).ready(function hideAddress() {
{
if ($('#same').is(":checked"))
$("#mailing-address").hide();
else
$("#mailing-address").show();
}
});
</script>
修改
我尝试在没有脚本标签的情况下移动到application.js,但现在.ready函数不起作用,除非我重新加载页面。
$( document ).ready(hideAddress);
function hideAddress()
{
if($('#same').is(":checked"))
$("#mailing-address").hide();
else
$("#mailing-address").show();
}
答案 0 :(得分:0)
因此看起来turbolinks使文档准备就绪无法正常工作,因此我不得不(document).ready
而不是$(document).on('turbolinks:load'
。
所以我最终在我的application.js上设置了这段代码
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
$(document).on('turbolinks:load', hideAddress );
function hideAddress()
{
if($('#same').is(":checked"))
$("#mailing-address").hide();
else
$("#mailing-address").show();
}