只是单挑,就ajax来说,我是一个初学者,我只是想找到自己的方式,所以请耐心等待我:)
我有一个带有组合框的视图(通过collection_select生成),我在该表单的一侧显示一些数据,基本上提供了有关用户选择的更多详细信息。
我想要实现的是,只要客户在组合中做出不同的选择,就能够在侧面更改该描述。基本上,弄清楚当前的选择是什么,从模型中请求数据,在屏幕上显示返回的数据。
实现这一目标的最简单/最优雅的方法是什么?我认为理解这个过程对我来说是一个很好的启动进入异步View世界的其余部分。
谢谢!
答案 0 :(得分:0)
在这种情况下,我认为不需要ajax。只需预加载所有描述值并将其存储在隐藏的div中:
<div class="description" id="choice1">
description for choice1 ...
</div>
...
然后将它们全部隐藏起来:
// somewhere in your stylesheet
div.description {
display: none;
}
最后在客户端,绑定到组合框的通缉事件:
// checkout documentation for other events, like select
$('some_id').change(function(data){
$('div.description').css('display', 'none');
var id = // get information about selected choice and figure out the id of description
$('div.description#' + id).css('display', 'block');
});
Chekout文档有关确切的详细信息,但主要想法应该是清楚的。通过这种方式,您可以为自己节省一些不必要的服务器请求。