2011-05-14 27 views
6

este es mi botón móvil JQuery. Este es probablemente uno fácil. Soy capaz de desactivar un botón html pero parece que no puedo obtenerlo con esta marca.Desactivando el botón JQuery Mobile con JQuery

<a href="" data-role="button" class="answer_but" id="a" data-theme="b" data-answer="1"> 

Esto es probablemente uno fácil. Gracias

Respuesta

1

Hmmm - Quizás (suponiendo 'a' es el identificador del botón JQM):

// To disable 
$("#a").attr("disabled","disabled"); 

// and enable 
$("#a").attr("disabled",""); 
+0

lo he intentado. Parece que no funciona. funciona con botones originales pero no con los móviles de jquery. –

5

Disable Buttons in jQuery Mobile

Ejemplo vivo: http://jsfiddle.net/XRjh2/16/

ACTUALIZACIÓN:

Enlace ejemplo de botón:

JS

var clicked = false; 

$('#myButton').click(function() { 
    if(clicked === false) { 
     $(this).addClass('ui-disabled'); 
     clicked = true; 
     alert('Button is now disabled'); 
    } 
}); 

$('#enableButton').click(function() { 
    $('#myButton').removeClass('ui-disabled'); 
    clicked = false; 
}); 

HTML

<div data-role="page" id="home"> 
    <div data-role="content"> 

     <a href="#" data-role="button" id="myButton">Click button</a> 
     <a href="#" data-role="button" id="enableButton">Enable button</a> 

    </div> 
</div> 

NOTA: - http://jquerymobile.com/demos/1.0rc2/docs/buttons/buttons-types.html

Enlaces de estilo como los botones tienen las mismas opciones visuales como verdaderos botones basados ​​en formularios a continuación, pero hay algunas diferencias importantes. Los botones basados ​​en vínculos no son parte del complemento de botón y solo usan el complemento buttonMarkup subyacente para generar los estilos de botón así que los métodos del botón de formulario (habilitar, deshabilitar, actualizar) no son compatibles. Si necesita deshabilitar un botón basado en un enlace (o cualquier elemento), es posible aplicar la clase deshabilitada ui-disabled con JavaScript para lograr el mismo efecto.

+0

Gracias @phil. Sí, funciona bien, pero al cambiar mis botones por el marcado html que has especificado se rompe alguna funcionalidad en mi aplicación. ¿Tiene alguna sugerencia sobre cómo puedo desactivar el marcado del botón dado? –

+0

@ L-Samuels respuesta actualizada para botones vinculados –

0

Así que revisé esto y tampoco pude hacer que esto funcionara. Luego, un compañero de trabajo sugirió agregar en vivo a un vclick y ahora funciona.

//Disable Continue Button 
     $('#icon-continue').live('vclick',function(event){ 

    var clicked = false; 

      if(clicked === false) { 
       $(this).addClass('ui-disabled'); 
       clicked = true; 
       alert('Button is now disabled'); 
      } 
}); 
2

Puede simplemente configurar la clase como "ui-disabled" para casi cualquier elemento o botón para deshabilitarlo.

<a data-role="filter-button" data-timeframe="month" class="ui-disabled">Date</a>