是否可以将jquery变量传递给.js.erb文件中的ruby/rails实例变量?
好的,我调用的是js.erb partial,它调用的是html.erb partial。。但是,我需要将一个变量从jquery部分传递到html.erb部分 基本上:是否可以将jquery变量传递给.js.erb文件中的ruby/rails实例变量?,jquery,ruby-on-rails,Jquery,Ruby On Rails,好的,我调用的是js.erb partial,它调用的是html.erb partial。。但是,我需要将一个变量从jquery部分传递到html.erb部分 基本上: $(document).ready(function(){ $('#aidmodel_brand').change(function() { $("select option:selected").each(function () { var brand = ($(this).text());
$(document).ready(function(){
$('#aidmodel_brand').change(function() {
$("select option:selected").each(function () {
var brand = ($(this).text());
$('#modeler').html('<%= escape_javascript(render(:partial => "shared/model", :brand => @brand)) %>');
});
});
});
我希望以某种方式将var brand分配给实例变量@brand,以便我可以将所选选项从下拉菜单传递到rails partial,以生成下一个下拉菜单
谢谢 之所以不能按您希望的方式执行,是因为js.erb中的Javascript是在服务器上执行ruby之后在客户端执行的 那么这个-
<%= escape_javascript(render(:partial => "shared/model", :brand => @brand)) %>
现在要实现这个需求,您可以在ruby代码中呈现所有品牌部分,然后让js进行选择。差不多-
$('#modeler').html(<%= escape_javascript(Brand.all.each{|b| render(:partial => "shared/model", :brand => b)}.join('')) %>)
$(document).ready(function(){
$('#aidmodel_brand').change(function() {
$("select option:selected").each(function () {
var brand = ($(this).text());
var brand_finder = "." + brand
var brand_block = $('#modeler').find(brand_finder)
brand_block.show()
});
});
});
在shared/model中,您可以为brand块指定一个css类名,该类名与option:selected中的文本相同
$('#modeler').html(<%= escape_javascript(Brand.all.each{|b| render(:partial => "shared/model", :brand => b)}.join('')) %>)
$(document).ready(function(){
$('#aidmodel_brand').change(function() {
$("select option:selected").each(function () {
var brand = ($(this).text());
var brand_finder = "." + brand
var brand_block = $('#modeler').find(brand_finder)
brand_block.show()
});
});
});