很长时间以来,我一直在试图在我的c#网站上创建一个简单的.click jquery方法。我只是想让它调用我的控制器中的一个函数,但我似乎无法点击任何按钮进行注册。其中的调用非常类似于另一个控件的.change()函数,它可以正常工作。
有问题的JQuery方法:
$('#addUserButton').click(function () {
var e = document.getElementById('searchDDL');
var itemText = e.options[e.selectedIndex].text;
var url = encodeURI('@Url.Action("AddUser")' + "?User=" + itemText);
});
用于触发上述功能的按钮的HTML:
<button id="addUserButton" type="button" value="addUser">></button>
我已经研究过并试过的一些事情:
我为问题here创建了一个jsfiddle。我不得不删除大量敏感信息,因此页面没有完全充实。它适用于内部应用程序,只需与IE一起使用。
编辑:下面我要添加我想在控制器中调用的函数;其他海报已经证实jquery正在按预期工作,所以我倾向于认为它与我的c#有关。
public ActionResult AddUser(string User)
{
//numUsers = App.NumberUsers + 1;
selectedUsers.Add(User);
return RedirectToAction("ApplicationForm");
}
答案 0 :(得分:1)
您是否尝试过调试功能,甚至在其中添加警报以充实发生的事情。
$('#addUserButton').click(function () {
alert("FUNCTION IS GETTING CALLED ON CLICK EVENT");
var e = document.getElementById('searchDDL');
alert(e);
var itemText = e.options[e.selectedIndex].text;
alert(itemText);
var url = encodeURI('@Url.Action("AddUser")' + "?User=" + itemText);
alert(url);
});
看起来你的函数在获取URL后不会发出AJAX请求。
答案 1 :(得分:0)
这不是像这个额外的关闭>
括号那么愚蠢吗?
<button id="addUserButton" type="button" value="addUser">></button>
答案 2 :(得分:0)
从您的JSFiddle,看来,您似乎未包括jQuery
。
位于JSFiddle的左上角。
我updated fiddle工作正常。请记住,您要包含jQuery
,因此请尝试使用其功能并保留Javascript。