附加到 Ajax ActionLink 的 JQuery 函数

本文关键字:JQuery 函数 ActionLink Ajax | 更新日期: 2023-09-27 18:31:56

快速问题。

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

附加到 Ajax ActionLink 的 JQuery 函数

与其在jQuery中使用任何特殊事件,不如在ajax link执行的ajax请求开始时调用JS方法。

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

阿贾克斯链接

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

.JS

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

希望这会有所帮助!!

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

$("a.action_button").click(function () {
   $("form.common").hide();
});