从jquery和haml渲染部分

前端之家收集整理的这篇文章主要介绍了从jquery和haml渲染部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我计划的功能是根据从select标签中选择的数字插入一些表单元素.

我有一个名为number_of_passengers的选择标签,我打算为所选数字动态附加新的乘客字段.假设我从number_of_passengers中选择2,那么2个表单应该出现在字段集中.这些表格包含姓名,年龄等.

我试过这样:

call a rails function from jquery?

并且只是将它转换为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 }) %>');
    }
  })

因为我在form_for中,如何将@booking变量传递给本地?看起来真的很复杂,而且我打算从循环20次(20个最大乘客)中做出肮脏的方式,然后根据所选的数字隐藏/显示它们.但那太脏了你不觉得吗?

解决方法

要使插值工作,你需要做类似的事情
!= "$('.passenger-info ul').append('#{escape_javascript( render :partial => 'new_passenger',:locals => {:booking => @booking })}');

如此简单的说:将!=添加到行的开头,并在双引号之间包含字符串.

关于@booking的问题:我建议你调查一些嵌套的表单示例,以便让你更清楚(例如thisthis railscast).

猜你在找的jQuery相关文章