Jquery 取消部分渲染?
用户可以从两个单独的列表(旧集合和新集合)中为事件分配引用。两个集合都分配给同一属性。因此,最后呈现的Jquery 取消部分渲染?,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,用户可以从两个单独的列表(旧集合和新集合)中为事件分配引用。两个集合都分配给同一属性。因此,最后呈现的collection\u select是表单识别的唯一对象。因此,我决定仅在用户需要时呈现第二个列表: <div id="old_collection"> <%= collection_select(stuff) %> </div> <div id="new_collection"></div> <input id="re
collection\u select
是表单识别的唯一对象。因此,我决定仅在用户需要时呈现第二个列表:
<div id="old_collection">
<%= collection_select(stuff) %>
</div>
<div id="new_collection"></div>
<input id="render_new_collection" href="#" type="checkbox">New-Collection?
<script>
$j(function(){
$j("#render_new_collection").click(function(){
$j("#old_collection").toggle();
$j("#new_collection").html("<%= escape_javascript(render(:partial => 'new_collection')) %>");
});
});
</script>
新系列?
$j(函数(){
$j(“#渲染新集合”)。单击(函数(){
$j(“#旧收藏”).toggle();
$j(“#新集合”).html(“‘新集合”))%>”;
});
});
这很好,但它的设置方式是一条死胡同:用户不能改变主意并使用旧集合,除非他们刷新页面。有没有办法取消渲染部分,只保留页面上的原始表单?您可以通过在新集合和旧集合之间切换来完成此操作
$j(function(){
$j("#render_new_collection").change(function(){
if($j(this).is(':checked')) {
$j("#old_collection").hide();
$j("#new_collection").html("<%= escape_javascript(render(:partial => 'new_collection')) %>");
}
else {
$j("#old_collection").show();
$j("#new_collection").html('');
}
});
});
$j(函数(){
$j(“#呈现新集合”).change(函数(){
如果($j(this).is(':checked')){
$j(“#旧收藏”).hide();
$j(“#新集合”).html(“‘新集合”))%>”;
}
否则{
$j(“#旧收藏”).show();
$j(“#新收藏”).html(“”);
}
});
});
虽然这应该可以工作,但我们应该将javascript代码保存在单独的javascript文件中