在ERB中使用JQuery获取文本字段值



我正在使用Rails 3,我要做的是传递到自动完成另一个字段的值,我将与自动完成字段的输入一起用于过滤。

我发现我可以传递一个参数与自动完成路径:

 <%= rif.autocomplete_field :readable_qty , recipes_autocomplete_weight_conversion_description_path + '?ingredient=' + $(this).attr(name), :'data-delimiter' => "s" ,
              :value => @recipe.ingredients[i].readable_qty, :width=>30, :size=>20 %>

在这里,我试图使用$(this).attr(name)从另一个文本字段获取当前文本,这给了我错误。有人知道怎么做吗?

看来你们的理解有差距。我不是Rails用户,但我很确定<%…在生成页面返回给浏览器时,在服务器上计算%>。这意味着你在那里使用的任何表达式都必须被rails理解,所以在那里放一个jquery表达式是行不通的。

另一方面,JQuery表达式在浏览器中作为某些浏览器事件(例如用户单击按钮)的结果进行计算。似乎你要做的是捕获浏览器信息,然后由服务器对其进行操作。这需要get或post到服务器,导致服务器重新生成页面内容或执行一些操作(基于您在<%…%>之间的代码)。我像这样做:
$('#ingredient').click(function (e) {
    var postParams = {};
    postParams['ingredient'] = $(this).attr(name);
    $.post('myPage', 
    postParams,
...
});

这不是工作代码。我只是想给你一个概念。

然后在您的页面代码中,您从请求中提取参数,而不是尝试使用jquery表达式。

相关内容

  • 没有找到相关文章

最新更新