【发布时间】:2010-10-28 17:50:41
【问题描述】:
我正在使用带有 RJS 模板的 Rails 和 jquery 来执行各种 AJAX 请求。
对于我的大多数 Ajax 内容,我将提交处理程序附加到 application.js 中的表单,如下所示:
$('#tagging_flickr_photos').submitWithAjax();
$('#tag_submit').click(function() {
$('#flickr-photos-status').show();
});
这会调用执行一些处理然后转发到 RJS 模板的表单操作,如下所示:
$("#flickr-photos-status").hide();
$("#flickr-photos").fadeIn();
$("#flickr-photos").html("<%= escape_javascript(render(:partial => 'flickr_photos_for_tagging_content')) %>");
这是一种享受。
现在我正在尝试做同样的事情,但只是基于在下拉列表中选择不同的值而不是提交表单。 这是我将处理程序附加到下拉列表的 javascript:
$('#film_film_name_id').change(function() {
$.get('/admin_film/make_tags?film_name_id=' + $("#film_film_name_id").val() + '&film_speed_id=' + $("#film_film_speed_id").val());
});
我的控制器方法做了一些处理然后转发到 RJS 模板 (make_tags.js.erb):
$("#film_tags").val(<%=@tags%>)
但是,模板似乎没有执行。 我可以在我的日志中看到它正在调用我的方法并呈现模板的条目,但无论我在模板中放入什么,似乎都没有发生任何事情。 我在其中放了一个 Javascript 警报,但它没有触发。
我认为问题与附加我的 Javascript 处理程序有关,但我无法弄清楚我缺少什么。
提前感谢您的帮助。
【问题讨论】:
标签: jquery ruby-on-rails ruby rjs