2012-06-08 99 views
0

我得到了一個包含對象列表(@contacts)的索引頁,我需要能夠使用ajax編輯彈出窗口中的每個@contact條目。對象列表:在rails中隱藏jQuery對話框

<% @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 %> 

這裏我給所有編輯鏈接添加一個唯一的ID。這樣做,以及在edit.html.erb

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

現在索引頁上我有一個聯繫人列表(具有唯一的編輯鏈接edit_contact_dialog_link_ID),和編輯表單(具有唯一div編號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

太感謝你了! –