2010-06-25 10 views

risposta

9

Datepicker ha un built-in disable method per questo si può usare, che disabilita anche il metodo di scrittura, in questo modo:

$("#datepicker").datepicker("disable"); 

You can view a demo here, è necessario utilizzare questo metodo, se possibile, in quanto il datepicker in realtà tiene traccia di ciò che è disabilitato internamente, you can see the source code here.

L'alternativa sarebbe quella di manualmente .unbind() il clic da tale immagine, in questo modo:

$(".ui-datepicker-trigger").css({opacity:'0.5',cursor:'default'}).unbind('click'); 

You can see a demo of that here, la parte .css() è solo quello di dargli un po 'stile "disabile" :)

+0

Super cool .... (y) –

1

ho aggiunto l'IMG e legato un gestore di clic utilizzando jQuery. Quindi, quando disabilito tutto il resto, non mi interessa nemmeno il gestore dei clic in modo che il pulsante immagine non funzioni più. Comunque, ecco un esempio di lavoro aggiornato. Ho provato questo in IE e FF. Fammi sapere come va.

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $("button").click(function(event){ 
     alert("you clicked the link, everything should be disabled now."); 
     $(".ui-datepicker-trigger").attr('disabled',true); 
     $("img.ui-datepicker-trigger").unbind('click'); 
     }); 

     // add a click handler for the img element 
     $("img.ui-datepicker-trigger").bind('click', function() {alert('clicked the img');}); 

    }); 

    </script> 
</head> 
<body> 
    <button class="ui-datepicker-trigger">Disable Everything</button> 
    <br/> 
    <input type="text" id="txt1" class="ui-datepicker-trigger" value="textbox 1"></input> 

    <img class="ui-datepicker-trigger" src="calendar.jpg" alt="..." title="..." style="display: inline;"> 
</body> 
</html> 
+0

... Grazie – user354625

+0

Ho modificato la mia risposta originale. Penso che ci stiamo avvicinando. – dhillis

0

se qualcuno sta cercando di NASCONDERE il pulsante accanto al selettore di date, utilizzare l'opzione: "showOn": "focus" nell'oggetto inviato al costruttore quando si chiama l'oggetto Datepicker. Guarda qui: http://api.jqueryui.com/datepicker/#option-showOn

Problemi correlati