Dar*_*ves 1 ruby jquery ruby-on-rails rjs
我正在使用Rails和jquery与RJS模板来执行各种AJAX请求.
对于我的大多数Ajax内容,我将一个提交处理程序附加到我的application.js中的表单,如下所示:
$('#tagging_flickr_photos').submitWithAjax();
$('#tag_submit').click(function() {
$('#flickr-photos-status').show();
});
Run Code Online (Sandbox Code Playgroud)
这会调用表单操作进行一些处理,然后转发到RJS模板,如下所示:
$("#flickr-photos-status").hide();
$("#flickr-photos").fadeIn();
$("#flickr-photos").html("<%= escape_javascript(render(:partial => 'flickr_photos_for_tagging_content')) %>");
Run Code Online (Sandbox Code Playgroud)
这是一种享受.
现在我尝试做同样的事情,但只是基于在下拉列表中选择不同的值而不是提交表单.这是我的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());
});
Run Code Online (Sandbox Code Playgroud)
我的控制器方法做了一些处理,然后转发到RJS模板(make_tags.js.erb):
$("#film_tags").val(<%=@tags%>)
Run Code Online (Sandbox Code Playgroud)
但是,模板似乎不会执行.我可以在我的日志中看到它正在调用我的方法并呈现模板的条目,但无论我在模板中放置什么似乎都没有发生.我在那里放了一个Javascript警报,它不会触发.
我假设问题是附加我的Javascript处理程序,但我无法弄清楚我缺少什么.
在此先感谢您的帮助.
我想你必须告诉jQuery你期待JavaScript并且应该执行它.尝试以下操作,看看它是否有效:
$('#film_film_name_id').change(function() {
var url = '/admin_film/make_tags?film_name_id=' + $("#film_film_name_id").val() + '&film_speed_id=' + $("#film_film_speed_id").val()
$.ajax({
type: 'GET',
dataType: 'script',
url: url
});
});
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,请检查jQuery.ajax()上的jQuery文档,因为我没有测试代码.
| 归档时间: |
|
| 查看次数: |
4777 次 |
| 最近记录: |