Ruby rails - 文本字段更改事件和ajax

问题描述:

好吧..我正在更频繁地遇到这类问题。我的大部分html都是渲染的ajax,我使用渲染页面的字段和值来创建新的ajax请求。但是没有一件事情似乎发生。需要了解这是为什么。Ruby rails - 文本字段更改事件和ajax

这是一个带有文本字段的简单表单,我希望在更改事件时调用ajax,以跳过表单/按钮。它不工作。我在这里改变什么?

<div><%= form_tag users_search_path, :remote => true, :id => 'search_form' do %> 
<%= text_field_tag :keyword, nil, :maxlength => 11, :size => 20 %># Tried this putting outside of this form, didn't work. 
<%= submit_tag " Search ", :id => "search_button", :onclick => "javascript:user_search()"%> 
<% end %></div> 

<%= text_field_tag :keyword, nil, :maxlength => 11, :size => 20 %>试过这种形式以外的这种形式,没有奏效。

$(function(){ 
$("#keyword").change(function() { 
     alert('ok'); 
     $.post('/users/search', function(data) { 
     $("#search").html(data); 
    }); 
    }); 
} 
+0

“没有工作”是什么意思? '$ .post'失败了吗?你的回叫没有被叫?你确实知道[''在更改事件被解雇之前必须失去焦点](http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-htmlevents ), 对? – 2012-04-28 07:07:54

+0

@ muistooshort - 在控制台上我根本没有看到发布的请求。 – 2012-04-28 07:41:41

+0

但是,在jQuery回调中你的'alert'怎么样? – 2012-04-28 07:45:34

因为最后一个jQuery代码是一个函数,它不会被执行,直到你调用它。删除第一行和最后一行,然后在页面加载时运行,以便将内部定义的函数附加到文本框中。