私は私のASP.NET MVCプロジェクトで次のスクリプトがあります。このfonctionは一度だけ実行される理由次のJquery Ajax Callはなぜ1回だけ実行されるのですか?
$(function() {
var ajaxFormSubmit = function() {
var $form = $(this);
var options = {
url: $form.attr("action"),
type: $form.attr("method"),
data: $form.serialize()
};
$.ajax(options).done(function (data) {
var $target = $($form.attr("data-otf-target"));
var $newHtml = $(data);
$target.replaceWith($newHtml);
});
return false;
};
$("form[data-otf-ajax='true']").submit(ajaxFormSubmit);
});
を?この関数は、オブジェクトのリストを更新するためのものです。ここでは、かみそりビューのフォームがあります。
<form method="get" action="@Url.Action("Index")" data-otf-ajax ="true"
data-otf-target="#RestaurantList">
<input type="search" name="searchTerm" />
<input type="submit" value="Search By Name" />
</form>
<div id="RestaurantList">
@Html.Partial("_Restaurants")
</div>
javascriptコードを 'RestaurantList' divの外に置きます。おそらく、ajax呼び出しによって上書きされます。 – Hackerman
入力タイプ 'button'を使用して、Jqueryの' click(function) 'を使って上記の関数を実行してください。 –
JavaScriptコードは別ファイルになっていますので、jqueryスクリプト(@ Scripts.Render。 。) –