如何将c中devexpress mvc 4点击按钮的名称传递给jquery的ajax调用
本文关键字:调用 ajax jquery 按钮 devexpress 4点 mvc | 更新日期: 2023-09-27 18:01:11
表单中有三个面板。每个面板由两个文本框和一个按钮组成。我使用了devexpress控件,所有控件都是在运行时动态加载的。现在,当我点击按钮时,我想获得相应按钮的名称,并必须将其传递给jquery中的ajax调用。
由于所有控件都是在运行时动态加载的,所以我不知道如何获取"devexpress的名称"按钮。
删除按钮代码
@Html.DevExpress().Button(addBtn =>
{
addBtn.Name = LoadForm.staticFormId + "_" + LoadForm.VarAnswerIdList[i] + "_" + "Button" + "_" + i + "Add";
addBtn.Text = "Add New Question";
addBtn.UseSubmitBehavior = false;
addBtn.ClientSideEvents.Click = "function(s, e) { AddNewQuestion(); }";
}).GetHtml();
删除javascript函数
function DeleteQuestion(s, e) {
debugger;
$.ajax({
type: "POST",
url: '@Url.Action("_DeleteQuestion", "LoadEditableForm")',
data: "&varChangeQuestionDetail=" + s.getName(),
beforeSend: function () {
lpCPartial.Show();
},
success: function (response) {
debugger;
$("#genForm").html(response);
lpCPartial.Hide();
}
});
}
您应该可以通过参数e
访问启动.click()
事件的DOM元素。有了这个,你就可以在纯JS中获得这样的名称:
e.getAttribute("name");
或者通过jQuery:
$(e).prop("name");
至于通过.ajax()
调用传递它,我会构造一个JSON对象,这样您的代码最终看起来像这样:
$.ajax({
type: "POST",
url: '@Url.Action("_DeleteQuestion", "LoadEditableForm")',
data: {varChangeQuestionDetail: $(e).prop('name') },
beforeSend: function () {
lpCPartial.Show();
},
success: function (response) {
debugger;
$("#genForm").html(response);
lpCPartial.Hide();
}
});