JavaScript代码无法在表单上呈现部分
JavaScript code fails to render partials on form
我需要帮助排除Rails 4应用程序中的一些JavaScript。我的目标是通过只显示用户可以选择的不同类型有氧运动的相关表单字段来改善用户体验。
例如,如果用户选择"Cycling",我希望一个名为"_cardio_time.erb"的部分显示"distance"、"predicted space"answers"duration"字段。如果用户选择"Jumping Jack",我希望一个名为_cardio_sets的部分显示"sets"answers"reps"字段。
以下是我编写JavaScript代码的尝试:
$(document).ready(function() {
$("#cardio_exercise_aerobic_training_list_id").change(function(e){
e.preventDefault();
$("<% if cardio_exercise.aerobic_training_list.category == 1 %>");
$("<%= escape_javascript render(:partial => 'layouts/cardio_time.erb' %>").insertAfter('#read-cardio-exercise-description-text');
$("<% else %>");
$("<%= escape_javascript render(:partial => 'layouts/cardio_sets.erb' %>").insertAfter('#read-cardio-exercise-description-text');
$("<% end %>");
})
});
该代码不会在Firebug控制台中生成任何错误,但当我从下拉菜单中选择"循环"时,以下文本会呈现在表单上:
<%= escape_javascript render(:partial => 'layouts/cardio_sets.erb' %><%= escape_javascript render(:partial => 'layouts/cardio_time.erb' %>
我做错了什么?我正在学习Rails和JavaScript。如果有任何帮助,我将不胜感激!
$(document).ready(function() {
$("#cardio_exercise_aerobic_training_list_id").change(function(e){
e.preventDefault();
<% if cardio_exercise.aerobic_training_list.category == 1 %>
$("<%= escape_javascript render(:partial => 'layouts/cardio_time.erb') %>").insertAfter('#read-cardio-exercise-description-text');
<% else %>
$("<%= escape_javascript render(:partial => 'layouts/cardio_sets.erb') %>").insertAfter('#read-cardio-exercise-description-text');
<% end %>
})
});
看看移除if/then/end语句的jQuery包装,并在render
末尾添加一个缺失的括号是否解决了这个问题。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- 多级HTML表单
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在验证和发送邮件后更改联系人表单的 html
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- Javascript更新孙窗口中的表单元素
- 如何从HTML表单中获取用户输入并将其存储在现有的JavaScript数组中
- 如何在现有的javascript表单中添加新的表单元素
- 如何使用jquery删除现有的onsubmit表单
- 如何从表单发送数据,并将它们添加到现有的POST数据,并在PHP中将它们连接到一个文本