附加到Ajax ActionLink的JQuery函数

时间:2013-09-19 16:02:29

标签: c# javascript jquery ajax

快速提问。

我有一个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的新手,所以我希望有人能指出我正确的方向。

2 个答案:

答案 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();
});