我的页面创建了多个按钮id = 'rbutton_"+i+"'
。以下是我的代码:
<button type='button' id = 'rbutton_"+i+"' onclick=disable(i);>Click me</button>
在Javascript中
function disable(i){
$("#rbutton'+i+'").attr("disabled","disabled");
}
但是当我点击它时它不会禁用我的按钮。
答案 0 :(得分:590)
改为使用.prop
(并清理选择器字符串):
function disable(i){
$("#rbutton_"+i).prop("disabled",true);
}
生成HTML:
<button id="rbutton_1" onclick="disable(1)">Click me</button>
<!-- wrap your onclick in quotes -->
但“最佳做法”方法是使用JavaScript事件绑定而不是this
:
$('.rbutton').on('click',function() {
$(this).prop("disabled",true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button class="rbutton">Click me</button>
答案 1 :(得分:31)
试试这段代码:
HTML
<button type='button' id = 'rbutton_'+i onclick="disable(i)">Click me</button>
功能
function disable(i){
$("#rbutton_"+i).attr("disabled","disabled");
}
使用jquery的其他解决方案
$('button').click(function(){
$(this).attr("disabled","disabled");
});
纯javascript的其他解决方案
<button type='button' id = 'rbutton_1' onclick="disable(1)">Click me</button>
<script>
function disable(i){
document.getElementById("rbutton_"+i).setAttribute("disabled","disabled");
}
</script>
答案 2 :(得分:26)
这里有两件事,根据OP的问题,最高投票答案在技术上是正确的。
简要总结为:
$("some sort of selector").prop("disabled", true | false);
但是你应该使用jQuery UI(我知道OP不是,但有些人可能会到这里)然后这将禁用按钮点击事件,它不会使按钮显示为按UI样式禁用。
如果您使用的是jQuery UI样式按钮,则应通过以下方式启用/禁用该按钮:
$("some sort of selector").button("enable" | "disable");
答案 3 :(得分:22)
试试这个
function disable(i){
$("#rbutton_"+i).attr("disabled",true);
}
答案 4 :(得分:19)
在我看来,这是最简单的方式:
// All buttons where id contains 'rbutton_'
const $buttons = $("button[id*='rbutton_']");
//Selected button onclick
$buttons.click(function() {
$(this).prop('disabled', true); //disable clicked button
});
//Enable button onclick
$('#enable').click(() =>
$buttons.prop('disabled', false) //enable all buttons
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="rbutton_200">click</button>
<button id="rbutton_201">click</button>
<button id="rbutton_202">click</button>
<button id="rbutton_203">click</button>
<button id="rbutton_204">click</button>
<button id="rbutton_205">click</button>
<button id="enable">enable</button>
答案 5 :(得分:13)
禁用按钮:
$('#button_id').attr('disabled','disabled');
启用按钮:
$('#button_id').removeAttr('disabled');
答案 6 :(得分:12)
简单地说,它在HTML中工作正常:
<button type="button" id="btn_CommitAll"class="btn_CommitAll">save</button>
在JQuery方面,将此功能用于禁用按钮:
function disableButton() {
$('.btn_CommitAll').prop("disabled", true);
}
对于启用按钮:
function enableButton() {
$('.btn_CommitAll').prop("disabled", false);
}
这就是全部。
答案 7 :(得分:3)
以下是使用ajax的方法。
$("#updatebtn").click(function () {
$("#updatebtn").prop("disabled", true);
urlToHandler = 'update.ashx';
jsonData = data;
$.ajax({
url: urlToHandler,
data: jsonData,
dataType: 'json',
type: 'POST',
contentType: 'application/json',
success: function (data) {
$("#lbl").html(data.response);
$("#updatebtn").prop("disabled", false);
//setAutocompleteData(data.response);
},
error: function (data, status, jqXHR) {
alert('There was an error.');
$("#updatebtn").prop("disabled", false);
}
}); // end $.ajax
答案 8 :(得分:2)
这对我有用:
<script type="text/javascript">
function change(){
document.getElementById("submit").disabled = false;
}
</script>
答案 9 :(得分:2)
我想在某些情况下禁用按钮,我正在使用第一个解决方案,但它对我不起作用。但是,当我使用第二个时它工作.Below是来自浏览器控制台的输出。
1。 $('#psl2 .btn-continue')。prop(“disabled”,true)
<a class="btn btn-yellow btn-continue" href="#">Next</a>
2。 $('#psl2 .btn-continue')。attr(“禁用”,“禁用”)
<a class="btn btn-yellow btn-continue" href="#" disabled="disabled">Next</a>
答案 10 :(得分:0)
对于Jquery UI按钮,此方法有效:
$("#buttonId").button( "option", "disabled", true | false );