Во-первых, вы не сможете использовать view_all
в качестве имени, если есть несколько строк. Вы можете сделать это именем класса, но идентификатор должен быть уникальным на странице. Поэтому я рекомендую что-то вроде этого:
<a href="" class="view_all"> View All</a>
Затем вы можете привязать класс, вытащить детали из строки и вставить его в диалоговое окно, а затем отобразить его так:
// bind to the link's click event
$('.view_all').click(function(){
// find the row
var $tr = $(this).closest('tr');
// grab the information (I don't know of another way other than use
// column position. However, if you add classes or some other details
// to the rows as their being output, this would be easier.
var contact_first_name = $tr.children('td:eq(1)').text(),
contact_mobile_no = $tr.children('td:eq(2)').text(),
contact_home_no = $tr.children('td:eq(3)').text(),
contact_office_no = $tr.children('td:eq(4)').text(),
contact_email = $tr.children('td:eq(5)').text();
// build the dialog
var $dialog = $('<div>',{title:'Details'}).dialog({
autoOpen: false
// ...more dialog options...
});
// add details to dialog:
$('<p>').text('First Name: ' + contact_first_name).appendTo($dialog);
$('<p>').text('Mobile #: ' + contact_mobile_no).appendTo($dialog);
/* ... */
// show the dialog
$dialog.dialog('open');
});
Рабочую демонстрацию можно найти здесь: http://jsfiddle.net/ZJVcm/1/