0

ドロップダウンが変更されたら、javascript関数内のローカル変数にドロップダウンで選択した値を保存しようとしています。アンカータグをクリックしてコントローラーを呼び出すと、その値を取得できます。

私は現在、Jqueryドロップダウン変更機能を使用してそのドロップダウン値を保存しようとしています(方法はわかりません)。

javascript でビューバッグを使用できません。隠し値を試しましたが、フォームを送信していないため、それが正しいアプローチであるかどうかはわかりません。

サーバー側でその変数値を保存して取得する方法はありますか?

4

2 に答える 2

2

HTML

<select id="DropDown" name="routetype">
    <option value="first">First</option>
    <option selected="selected" value="second">Second</option>
    <option value="third">Third</option>
</select>

<a id="anchor" href="#" />

JQuery

<script type="text/javascript">
    var selected;
    $(document).ready(function () {
        selected = $("#DropDown option:selected").attr('value');

        $('#DropDown').change(function () {  //Preserve the selected value here.
            selected = $("#DropDown option:selected").attr('value');
            return false;
        })

以下の Ajaxifying で説明されているように、選択したドロップダウン値を Controller に送信します。

リンクをクリックしたときの Ajax リクエスト

        $('#anchor').click(function(){
            $.ajax({
                url: '@Url.Action("ActionName", "Controller Name")',
                type: 'POST',
                contentType: 'application/json',
                data: JSON.stringify({ Param: selected }),   //Dropdown value
                dataType: 'json'
            }).done(function () {                             //Success Callback
        });
    });
</script>

アクション方法

[HttpPost]
public ActionResult Index(string Param)
{
    return View();
}
于 2013-06-12T23:28:23.437 に答える
0

POSTや依頼をすることができGETます。違いを詳しく説明して
いるリンクを次に示します。
おそらく ajax を使用して、ページを更新せずにこれらの呼び出しを行いたいと思うでしょう。その場合、jqueryが便利です。

于 2013-06-12T22:43:39.367 に答える