启用和禁用带有ajax内容响应的按钮

时间:2015-05-17 17:50:28

标签: javascript jquery ajax

我无法理解为什么它不与我合作。我知道要使用attrprop启用和停用按钮。

 $(document).on("click", "#btn", function(){
      $(this).html("Sending...");
      $(this).prop("disabled",true);
      // I have ajax content here. and in success of ajax. run
      $(this).prop("disabled",false);

在ajax成功中未启用按钮禁用。我的代码有任何问题。

4 个答案:

答案 0 :(得分:1)

在ajax内部不要使用$(this),而是可以这样做:

$(document).on("click", "#btn", function(){
     var button = $(this);

在ajax中,你可以使用它:

button.prop("disabled",true);

答案 1 :(得分:0)

试试这个

$(this).attr("disabled", "disabled");

答案 2 :(得分:0)

如果您希望在其他功能中引用它,则需要保存对this的引用:

$(document).on("click", "#btn", function(){
    var button = $(this);
    button.html("Sending...");
    button.prop("disabled",true);
    // I have ajax content here. and in success of ajax. run
    button.prop("disabled",false);

另见: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this

答案 3 :(得分:0)

AJAX中的

join没有引用该按钮,而是使用:

var input = ' 12 34 56 78 12 34 1 87 12 '
    arr = input.trim().split(' '),
    count = {}, result;

arr.forEach(function(item){
  if (typeof count[item] !== 'undefined') {
    count[item]++;
  } else {
    count[item] = 0; 
  }
});

result = arr.map(function(item){
  return count[item];
});

console.log(result.join(' '));