我计划执行的功能是根据从选择标记中选择的数字插入一些表单元素。
我有一个名为 number_of_passengers 的选择标签,并且我计划为所选数量动态附加新的乘客字段。假设我从 number_of_passengers 中选择 2 个表单,那么 2 个表单应该出现在字段集中。这些表格包含姓名、年龄、体重等。
我尝试按照以下步骤操作:
从jquery调用rails函数? https://stackoverflow.com/questions/261752/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
:我建议您研究一些嵌套表单示例,以使其更清楚(例如this http://railscasts.com/episodes/196-nested-model-form-part-1 and this http://railscasts.com/episodes/197-nested-model-form-part-2铁路广播)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)