0

快速提问。

我有一个 Ajax.Action 链接,用于异步上传表单的下一部分。

@Ajax.ActionLink("Next" , "matches",null, new AjaxOptions {UpdateTargetId = "placeholder", InsertionMode = InsertionMode.InsertAfter,HttpMethod = "GET"}, new { @class = "button" })

我已经将我的“按钮”类应用到它,这使它看起来像一个大按钮。我希望将一个 JQuery .click 事件附加到上面的 AjaxAction 链接,以触发一个隐藏先前表单的函数。我正在使用下面的 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 的新手,所以我希望有人可以在这里为我指明正确的方向。

4

2 回答 2

0

您可以在 ajax 链接执行的 ajax 请求的开头调用 JS 方法,而不是使用 jQuery 的任何特殊事件。

OnBegin在链接中添加属性AjaxOptions并为其分配一个 JS 函数并执行该 JS 函数中的逻辑

阿贾克斯链接

new AjaxOptions { OnBegin = "OnBegin" ... }

JS

function OnBegin() {
    $("form.common").hide();
}

希望这会有所帮助!

于 2013-09-19T16:12:44.600 回答
-1

尝试直接定位您的元素,而不是使用最接近的。如果您还可以使用按钮 id 或分配更具描述性的类。

$("a.action_button").click(function () {
   $("form.common").hide();
});
于 2013-09-19T16:09:20.947 回答