Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery rails flash通知不与远程设备一起使用=>;真的_Jquery_Ruby On Rails_Tabs - Fatal编程技术网

Jquery rails flash通知不与远程设备一起使用=>;真的

Jquery rails flash通知不与远程设备一起使用=>;真的,jquery,ruby-on-rails,tabs,Jquery,Ruby On Rails,Tabs,我在一个查看页面上有三个选项卡。其中一个选项卡是用于更新用户帐户的表单。由于此页面使用jquery,因此每当我刷新页面时,它都会返回到第一个活动选项卡,而不是当前选项卡。我通过将:remote=>true添加到这行代码true do | f |%>来解决这个问题。这将更新表单,而不返回到第一个活动选项卡 问题是我有一个没有出现的紧急通知。如果我删除:remote=>true,那么它工作正常,但它会将我带回主活动选项卡 有什么建议吗?提前谢谢 JS在此处切换选项卡: <script type

我在一个查看页面上有三个选项卡。其中一个选项卡是用于更新用户帐户的表单。由于此页面使用jquery,因此每当我刷新页面时,它都会返回到第一个活动选项卡,而不是当前选项卡。我通过将
:remote=>true
添加到这行代码
true do | f |%>
来解决这个问题。这将更新表单,而不返回到第一个活动选项卡

问题是我有一个没有出现的紧急通知。如果我删除
:remote=>true
,那么它工作正常,但它会将我带回主活动选项卡

有什么建议吗?提前谢谢

JS在此处切换选项卡:

<script type="text/javascript">
$(document).ready(function() {

$('.tabs a').click(function(){
    switch_tabs($(this));
});

switch_tabs($('.active'));

});

function switch_tabs(obj)
{
$('.tab-content').hide();
$('.tabs a').removeClass("active");
var id = obj.attr("rel");

$('#'+id).show();
obj.addClass("active");
}
</script>

$(文档).ready(函数(){
$('.tabs a')。单击(函数(){
切换选项卡($(此));
});
切换选项卡($('.active'));
});
功能开关_选项卡(obj)
{
$('.tab内容').hide();
$('.tabs a').removeClass(“活动”);
变量id=对象属性(“相对”);
$('#'+id).show();
对象添加类(“活动”);
}

这里有两个单独的问题:

  • 您的JS代码不会打开单击事件。当您的页面第一次加载时,不会单击,因此不会更改选项卡。您需要以某种方式指示哪个选项卡处于活动状态。我通常在服务器端通过将
    active
    类添加到HTML元素中,然后使用CSS高亮显示/选择它

  • remote=>true
    将执行ajax调用,该调用将返回一些内容。通常返回xml或json,而不是HTML。我认为在您的情况下,您返回的HTML将包含flash消息,但您的浏览器不会显示它,因为您的页面没有刷新


当表单提交并提交回同一选项卡时,我如何做到这一点?您在更新操作中呈现了什么