Hallo,Jquery - как получить элемент, который сделал пост
У меня следующий код JQuery для вызова ASP.NET MVC метод контроллера, который возвращает HTML, созданный с использованием частичного View.
$("form[action$='ShowProperties']").submit(function() {
$.post($(this).attr("action"), $(this).serialize(), function(response) {
$(this).children("div.serviceproperties").html(response);
// $("div.serviceproperties").html(response);
});
return false;
});
Вынесено HTML выглядит следующим образом:
<ul>
<li class="serviceactionitem">
<form method="post" action="/Service/ShowProperties">
<input type="submit" value="Show General" name="[Show]"/>
<input id="id" type="hidden" value="1" name="id"/>
<input id="serviceitem" type="hidden" value="general" name="serviceitem"/>
<div class="serviceproperties"> </div>
</form>
</li>
<li class="serviceactionitem">
<form method="post" action="/Service/ShowProperties">
<input type="submit" value="Show Specific" name="[Show]"/>
<input id="id" type="hidden" value="1" name="id"/>
<input id="serviceitem" type="hidden" value="specific" name="serviceitem"/>
<div class="serviceproperties"> </div>
</form>
</li>
Отклик HTML, которые должны быть установлены внутри сНу элемента, который находится внутри элемента формы. У меня есть несколько элементов формы на странице, и я не знаю, как обновить div внутри правильной формы. Прокомментированный код, конечно, обновляет divs из каждой формы на странице.
Главное, что $ (this) не возвращает элемент формы, что, вероятно, является нормальным. Таким образом, мне нужен способ обращения к соответствующему элементу формы внутри функции, которая обрабатывает ответ, а также для поиска и изменения div внутри него.
Благодаря
Видимо, это было не так просто для меня :) Первый вариант не работает для меня, потому что у меня есть более одного элемента, который отвечает запросу, но второй работает как заклинание. Большое спасибо Philippe –