フォームを自動送信し、部分ビューを介してプロジェクト全体で使用する検索を実行するドロップダウンリストがありますが、ページを更新しない限り、初めて使用する場合にのみ機能します。これは、jQueryMobileプロジェクトを備えたMVC4です。
これが私の部分的なビューにあるコードです、
<script type="text/javascript">
$(function () {
$("#CoastLineID").change(function () {
var actionUrl = $('#TheForm').attr('action') + '/' + $('#CoastLineID').val();
$('#TheForm').attr('action', actionUrl);
$('#TheForm').submit();
});
});
</script>
<p>
@using (Html.BeginForm("SearchCoast", "Home", FormMethod.Post, new { id = "TheForm" }))
{
@Html.DropDownList("CoastLineID", (SelectList)ViewBag.ArticleId, "Select a Coastline")
}
</p>
部分ビューを使用するページ/ビューが何らかの方法で読み込まれるたびに、ページまたはリストを更新できる必要があると思います。これはjQueryの問題ですか?
何かアイデアがありますが、許可されていればサイトのURLを掲載できますか?
更新/編集
みんなありがとう、
jQuery MobileとMVCの混合でいくつかの問題が発生しましたが、これは主に、両方がURL文字列を異なる方法で処理する方法が原因で、すべて15年間のWeb開発に起因しています。すべてのjQueryMobileドキュメントは、従来のURL文字列を扱います。about / us.htmlこれはMVCの方法ではありません!
これは、ドロップダウンに入力するためのコントローラーコードです。
var coastlines = db.CoastLines.Select(c => new { c.CoastLineID, c.CoastLineName });
ViewBag.CoastLineId = new SelectList(coastlines.AsEnumerable(), "CoastLineID", "CoastLineName", 0);
そしてこれはウェブサイトです、
http://www.peninsulaguide.com.au/
「ビーチ検索」をクリックしてから「海岸線を選択」または「町を選択」をクリックすると機能しますが、その後は更新しないと何も機能しません。
ドロップダウンは2つありますが、1つ削除しても違いはありません。
乾杯、
マイク