disabled - html disable button jquery
Desactivar botón en jQuery (11)
Mi página crea varios botones como id = ''rbutton_"+i+"''
. A continuación se muestra mi código:
<button type=''button'' id = ''rbutton_"+i+"'' onclick=disable(i);>Click me</button>
En Javascript
function disable(i){
$("#rbutton''+i+''").attr("disabled","disabled");
}
Pero no desactiva mi botón cuando hago clic en él.
Así es como lo haces con 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
Esta es la forma más simple en mi opinión:
// 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>
Esto funciona para mí:
<script type="text/javascript">
function change(){
document.getElementById("submit").disabled = false;
}
</script>
Hay dos cosas aquí, y la respuesta más votada es técnicamente correcta según la pregunta de los OP.
Resumido brevemente como:
$("some sort of selector").prop("disabled", true | false);
Sin embargo, si utiliza la interfaz de usuario de jQuery (sé que el OP no lo era, pero puede que lo hagan algunas personas que llegan aquí), aunque esto deshabilitará el clic de los botones, no hará que el botón aparezca deshabilitado según el estilo de interfaz de usuario.
Si está utilizando un botón con estilo de interfaz de usuario de jQuery, debe activarse / desactivarse mediante:
$("some sort of selector").button("enable" | "disable");
Para los botones de la interfaz de Jquery esto funciona:
$("#buttonId").button( "option", "disabled", true | false );
Prueba este código:
HTML
<button type=''button'' id = ''rbutton_''+i onclick="disable(i)">Click me</button>
función
function disable(i){
$("#rbutton_"+i).attr("disabled","disabled");
}
Otra solución con jQuery
$(''button'').click(function(){
$(this).attr("disabled","disabled");
});
Otra solución con javascript puro
<button type=''button'' id = ''rbutton_1'' onclick="disable(1)">Click me</button>
<script>
function disable(i){
document.getElementById("rbutton_"+i).setAttribute("disabled","disabled");
}
</script>
Prueba esto
function disable(i){
$("#rbutton_"+i).attr("disabled",true);
}
Quiero deshabilitar el botón en alguna condición, estoy usando la primera solución pero no funcionará para mí. Pero cuando uso el segundo, funcionó. A continuación se muestran los resultados de la consola del navegador.
1. $ (''# psl2 .btn-continue''). Prop ("disabled", true)
<a class="btn btn-yellow btn-continue" href="#">Next</a>
2. $ (''# psl2 .btn-continue''). Attr ("disabled", "disabled")
<a class="btn btn-yellow btn-continue" href="#" disabled="disabled">Next</a>
Simplemente funciona bien, en HTML:
<button type="button" id="btn_CommitAll"class="btn_CommitAll">save</button>
En el lado de JQuery pon esta función para desactivar el botón:
function disableButton() {
$(''.btn_CommitAll'').prop("disabled", true);
}
Para habilitar el botón:
function enableButton() {
$(''.btn_CommitAll'').prop("disabled", false);
}
Eso es todo.
Use .prop
en .prop
lugar (y limpie la cadena de su selector):
function disable(i){
$("#rbutton_"+i).prop("disabled",true);
}
HTML generado:
<button id="rbutton_1" onclick="disable(1)">Click me</button>
<!-- wrap your onclick in quotes -->
Pero el enfoque de "mejores prácticas" es utilizar el enlace de eventos de JavaScript y this
en this
lugar:
$(''.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>
botón de desactivación:
$(''#button_id'').attr(''disabled'',''disabled'');
botón habilitar:
$(''#button_id'').removeAttr(''disabled'');