cor*_*ded 6 jquery haml renderpartial ruby-on-rails
我计划的功能是根据从select标签中选择的数字插入一些表单元素.
我有一个名为number_of_passengers的选择标签,我打算为所选数字动态附加新的乘客字段.假设我从number_of_passengers中选择2,那么2个表单应该出现在字段集中.这些表格包含姓名,年龄等.
我试过这样:
并且只是将它转换为haml-speak但是每当我使用:javascript标签时我都会收到错误.我也不认为一旦我进入javascript标签就可以"逃脱"
:javascript
$('#number_of_passengers').change(function() {
var $num_of_passengers = $(this).val();
for($i=0; $i<$num_of_passengers;$i++) {
$('.passenger-info ul').append('<%= escape_javascript( render :partial => "new_passenger", :locals => {:booking => @booking }) %>');
}
})
Run Code Online (Sandbox Code Playgroud)
因为我在form_for中,如何将@booking变量传递给本地?看起来真的很复杂,而且我打算从循环20次(20个最大乘客)中做出肮脏的方式,然后根据所选的数字隐藏/显示它们.但那太脏了你不觉得吗?
nat*_*vda 12
要使插值工作,你需要做类似的事情
!= "$('.passenger-info ul').append('#{escape_javascript( render :partial => 'new_passenger', :locals => {:booking => @booking })}');
Run Code Online (Sandbox Code Playgroud)
如此简单的说:添加!=到行的开头,并在双引号之间包含字符串.
您的问题@booking:我建议您调查一些嵌套的表单示例,以使您更清楚(例如,这个和这个 railscast).
我实际上通过添加以下内容设法做到了这一点:
respond_to do |format|
format.js { render :partial => "new_passenger" }
end
Run Code Online (Sandbox Code Playgroud)
所以即使请求是在js中,它也会返回一个html部分。俏皮
| 归档时间: |
|
| 查看次数: |
12596 次 |
| 最近记录: |