Привет всем и, пожалуйста, простите меня заранее, если я опущу какие-либо детали, так как это мой первый пост здесь:
У меня проблема с использованием диалоговой команды JQuery. В частности, я хочу, чтобы кнопка «Редактировать» (строка 7 ниже) открывала только 1 окно, а не все позади друг друга. Ниже приведен код, который я сейчас использую, и краткое описание того, что происходит с коддой. Заранее спасибо за чтение!
<!-- C# and HTML code here-->
<table>
<tbody>
<% foreach (var item in Model) { %>
<tr>
<td>
<button class="opener">Edit</button>
<div class="dialogButton" title="Something"><% Html.RenderAction("Something", "Admin", new { id = item.ID }); %></div>
<td>Other values</td>
</tr>
</table>
<!-- JQ script is here-->
$(".dialogButton").dialog({ autoOpen: false });
$(".dialogButton").dialog({ buttons: { "Ok": function () { $(this).dialog("close"); } } });
$(".dialogButton").dialog({ show: 'fade' });
$('.opener').click(function () { $('.dialogButton').dialog('open'); });
На данный момент приложение загружает таблицу и имеет кнопку редактирования рядом с каждой строкой (строка 7 выше), однако при нажатии кнопки «Редактировать» Html.RenderAction (строка 8) открывает окна редактирования для всех элементов (item.ID) в списке, а не только для выбранной строки. Это означает, что в настоящее время существует около 25 окон, которые появляются друг за другом.
То, что я хочу, чтобы код делал, но до сих пор не удалось выяснить, - это только открыть окно редактирования для выбранной строки.
Также было предложено заменить последнюю строку в приведенном выше коде (последняя строка 17) следующим кодом:
$('.opener').click(function () { $(this).next().dialog('open'); });
В теории это предполагает открытие только одного элемента, но это не так. Пожалуйста, помогите!
Еще раз спасибо!