如何将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();
           }
       });
       }

如何将c中devexpress mvc 4点击按钮的名称传递给jquery的ajax调用

您应该可以通过参数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();
       }
   });