2012-06-08 2 views
0

У меня есть индексная страница со списком объектов (@contacts), и мне нужна возможность редактировать каждую запись @contact во всплывающем окне с помощью ajax. Перечень объектов:Скрыть диалоги jquery по id в rails

<% @contacts.each do |contact| %> 
    <div><%= contact.name %> | <%= link_to 'Edit', edit_contact_path(contact), :id => "edit_contact_dialog_link_#{contact.id}" %></div> 
    <% @contact = contact %><%= render :template => "contacts/edit" %> 
    <% end %> 

Здесь я добавляю уникальный идентификатор ко всем ссылкам на редактирование. Ведение а в edit.html.erb:

<div id="edit_contact_dialog_<%= @contact.id %>"> 
    <h1>Editing contact</h1> 
    <%= render 'form' %> 
</div> 

Теперь на главной странице У меня есть список контактов (с уникальным редактированием ссылками edit_contact_dialog_link_ID) и редактированием формами (с уникальными Див идентификаторами edit_contact_dialog_ID)

мне нужно, чтобы скрыть все поля edit_contact_dialog_ID и на каждом edit_contact_dialog_link_ID щелкните по открытию соответствующего диалогового окна, но не знаете как.

Мои contacts.js:

$("#edit_contact_dialog_(here i need a regexp or smthng?)").dialog({ 
    autoOpen: false, 
    width: 455, 
    modal: true 
    }); 

    $("#edit_contact_dialog_link_???").click(function(){ 
    $("#edit_contact_dialog_???").dialog("open"); 
    return false; 
    }); 

Спасибо за любую помощь.

ответ

3

Используйте атрибут класса

$(".dialog").dialog({ 
    autoOpen: false, 
    width: 455, 
    modal: true 
}); 

$(".edit_handler").click(function(){ 
    var id = $(this).attr('id'); 
    $("#edit_contact_dialog_" + id).dialog("open"); 
    return false; 
}); 
+0

благодарю вас так много! –

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