0

以下のようなページにドロップダウンリストとボタンがあります。

@Html.DropDownList("MovieType")

<input id="btnBk" type="button" value="Back" onclick="location.href = '/Test/Index/'"  />

ドロップダウンリストがコントローラーに入力されます。

public ActionResult DDL()
{
    List<SelectListItem> items = new List<SelectListItem>();

    items.Add(new SelectListItem { Text = "Action", Value = "0" });

    items.Add(new SelectListItem { Text = "Drama", Value = "1" });

    items.Add(new SelectListItem { Text = "Comedy", Value = "2", Selected = true });

    items.Add(new SelectListItem { Text = "Science Fiction", Value = "3" });

    ViewBag.MovieType = items;

    return View();
}

ドロップダウンリスト項目が選択されている場合、クリック時のボタンを元の/ Test /Index/から/Test/Index1に変更しようとしています。

$(document).ready(function () {            
    $('#MovieType').change(function () {
        var href = $('#btnBk').attr("onclick");
        alert(href);
        $('#btnBk').attr('onclick', "location.href='/Test/Index1/'");
        href = $('#btnBk').attr("onclick");
        alert(href);
    })
});

アラートメッセージは、onclick値が更新されたことを示します。ただし、変更後に[戻る]ボタンをクリックすると、/ Test / Index1にリダイレクトされる代わりに、応答がありません。

何か足りないものはありますか?

よろしくお願いします、ベン

4

1 に答える 1

1

要素からonclick属性を削除し、次のようにします。操作にはjQueryを最大限に活用してください。

$(document).ready(function () {            
      $('#btnBk').click(function(){
             location.href='/Test/Index/';
        });

    $('#MovieType').change(function () {
        $('#btnBk').unbind('click').click(function(){
             location.href='/Test/Index1/';
        });
    })
});
于 2013-03-27T09:11:49.397 に答える