快速提问。
我有一个Ajax.Action链接,用于异步上传表单的下一部分。
@Ajax.ActionLink("Next" , "matches",null, new AjaxOptions {UpdateTargetId = "placeholder", InsertionMode = InsertionMode.InsertAfter,HttpMethod = "GET"}, new { @class = "button" })
我已经将“按钮”类应用于它,这使它看起来像一个大按钮。 我想在上面的AjaxAction链接中附加一个JQuery .click事件,触发一个隐藏上一个表单的函数。我正在使用下面的JQuery:
<script>
$(document).ready(function () {
$(this).closest("a.button").click(function () {
$("form.common").hide();
});
});
</script>
这对我不起作用。 Ajax.ActionLink工作正常,而不是Jquery。以下是我的页面的粗略分类。
<form class="common"> (this form needs to hide)
//lots of inputs
<ActionLink class="button>
</form>
<div id="placeholder">
(this is where the new form will be inserted)
</div>
我是C#和JavaScript / JQuery的新手,所以我希望有人能指出我正确的方向。
答案 0 :(得分:0)
不是在jQuery中使用任何特殊事件,而是可以在ajax链接执行的ajax请求开始时调用JS方法。
在链接OnBegin
中添加AjaxOptions
属性并为其分配JS函数并在该JS函数中执行逻辑
Ajax链接
new AjaxOptions { OnBegin = "OnBegin" ... }
<强> JS 强>
function OnBegin() {
$("form.common").hide();
}
希望这会有所帮助!!
答案 1 :(得分:-1)
尝试直接定位元素而不是使用最接近的元素。如果您也可以使用按钮id或指定更具描述性的类。
$("a.action_button").click(function () {
$("form.common").hide();
});