单击禁用按钮或立即关闭模式

时间:2018-05-01 09:15:56

标签: jquery

 $('button#rejectWithdraw').click(function(e) {

  $.ajax({
          url: $('#rejectUrl').val(),
          type: "POST",
          data: {data:text},
          success: function (data) {
              $('#modelContent').modal('toggle');
          },
          error: function (err) {
             // alert("Something went wrong"+err);
          }
      });

});

模态仅在成功后关闭。我需要在提交后立即关闭,或者在点击后应该禁用该按钮。

怎么做?

4 个答案:

答案 0 :(得分:1)

通过将属性'disabled'设置为true:

$('button#rejectWithdraw').prop('disabled', true);

答案 1 :(得分:1)

你必须添加像

这样的禁用属性
$('button#rejectWithdraw').click(function(e) {
  $('button#rejectWithdraw').prop('disabled', true);
  $.ajax({
          url: $('#rejectUrl').val(),
          type: "POST",
          data: {data:text},
          success: function (data) {
              $('#modelContent').modal('toggle');
          },
          error: function (err) {
             // alert("Something went wrong"+err);
          }
      });

});

答案 2 :(得分:1)

模态在成功后关闭,因为关闭模态的代码

$('#modelContent').modal('toggle');

是成功处理程序。如果您希望在提交后立即执行它,您可以在$ .ajax调用之后立即执行。

$('button#rejectWithdraw').click(function(e) {

  $.ajax({
      url: $('#rejectUrl').val(),
      type: "POST",
      data: {data:text},
      success: function (data) {
         // code placed here is executed only on successfull POST
      },
      error: function (err) {
         // alert("Something went wrong"+err);
      }
  });

  $('#modelContent').modal('toggle');

});

答案 3 :(得分:1)

使用这样的JQuery .one()使按钮只点击一次:

$( "button#rejectWithdraw" ).one( "click", function(e) {
  $.ajax({
          url: $('#rejectUrl').val(),
          type: "POST",
          data: {data:text},
          success: function (data) {
              $('#modelContent').modal('toggle');
          },
          error: function (err) {
             // alert("Something went wrong"+err);
          }
      });

 });
  

将处理程序附加到元素的事件。每个事件类型的每个元素最多执行一次处理程序。