2012-04-28 3 views
0

Хорошо. Я чаще сталкиваюсь с такими типами проблем. Большая часть моего html представляет ajax rendered, и я использую поля и значения из отображаемой страницы для создания новых запросов 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), правильно? –

+0

@muistooshort - На консоли я не вижу, чтобы сообщение отправлялось вообще. –

+0

Но как насчет вашего 'alert' в обратном вызове jQuery? –

ответ

0

Поскольку последний код jquery является функцией, он не выполняется до тех пор, пока вы его не назовете. Удалите первую и последнюю строку, затем она будет запущена, когда страница будет загружена, поэтому она добавит функцию, определенную внутри вашего текстового поля.

Смежные вопросы