Jquery方法不禁用按钮

时间:2016-05-17 21:54:45

标签: jquery disabled-control prop

我试图通过JQuery方法禁用按钮。它应该通过向它们添加属性和类来工作,但它不起作用。

我检查过我发送了正确的ID,但我没有在控制台中收到任何错误,但按钮没有被禁用。



$('[id^="pro2-consult"]').on("click", function (event, xhr, settings) {
  var id=event.target.id.substring(12);
  DisableBTNforConsult(id);
});

 function DisableBTNforConsult(id) {
  var cont1='#pro-save'+id;
  var cont2='#pro-create'+id;
  $(cont1, cont2).prop('disabled', true);
  $(cont1, cont2).addClass('btn-disabled');
  $(cont1, cont2).attr('disabled', 'disabled');
}

<button id="pro-save-p-sis-0610" class=" btn btn-sm btn-success" type="button">Save</button>
<button id="pro-create-p-sis-0610" class=" btn btn-sm btn-success" type="button">Create</button>
<button id="pro2-consult-p-sis-0610" class=" btn btn-sm btn-success" type="button">consult</button>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

  1. 根据问题的the original version代码,您的id即将出现为"p-sis-0610"。然后,当您将其追加到"#pro-save""#pro-create"时,您在两者之间缺少一个短划线-

    var cont1 = '#pro-save-' + id;
    var cont2 = '#pro-create-' + id;
    
  2. 将jQuery选择器构造为单个变量。

    var selector = cont1 + ', ' + cont2;
    
  3. 工作演示:https://jsfiddle.net/ob8taw48/

    您还可以使用jQuery&#39; $(this)来获取id

    var id = $(this).attr('id').substring(12);
    

答案 1 :(得分:0)

&#13;
&#13;
$('button[id^=pro2-consult]').on("click", function() {
  var id=$(this).prop('id').substring(12);
  DisableBTNforConsult(id);
});

 function DisableBTNforConsult(id) {
  $('button:not(#pro2-consult'+id).prop('disabled', true);
  $('button:not(#pro2-consult'+id).addClass('btn-disabled');
  $('button:not(#pro2-consult'+id).attr('disabled', 'disabled');
}
&#13;
.btn-disabled{color:#eeddcc;}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="pro-save-p-sis-0610" class=" btn btn-sm btn-success" type="button">Save</button>
<button id="pro-create-p-sis-0610" class=" btn btn-sm btn-success" type="button">Create</button>
<button id="pro2-consult-p-sis-0610" class=" btn btn-sm btn-success" type="button">consult</button>
&#13;
&#13;
&#13;