我在页面中有一个下拉列表和按钮,如下所示:
@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。
缺少什么?
提前致谢, 本
答案 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/';
});
})
});