在jQuery中更改它后,MVC输入按钮onclick不起作用

时间:2013-03-27 09:06:53

标签: jquery

我在页面中有一个下拉列表和按钮,如下所示:

@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。

缺少什么?

提前致谢, 本

1 个答案:

答案 0 :(得分: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/';
        });
    })
});