Domanda

Per ora il componente timepicker jQuery viene richiamato con un clic sull'input.

Questa è la configurazione del timepicker:

    <script>
     ...
oScript.text += "var timeId = '#' + '<portlet:namespace/>' + '_time';";
oScript.text += "$j(timeId).timePicker({startTime:new Date(0, 0, 0, 0, 0, 0), step: 30});";   
     ...
    </script>

Questa è la parte jsp per timepicker (input con ID specifico):

<input id="<portlet:namespace/>_time" name="time" size="6" autocomplete="off" value="${eventTime}"
<img id="time-img" class="ui-timepicker" src="${eventTimeImage}" alt="..." title="..."/>

Quindi funziona bene.

Se per gestire fai clic su img, quell'errore js triste, quell'id "non è definito", ma l'id è lo stesso del rendering nell'HTML risultante

Questo è un codice modificato per il tag IMG, al fine di invocare timepicker:

<img id="time-img" onClick="jQuery(<portlet:namespace/>_time).timePicker({startTime:new Date(0, 0, 0, 0, 0, 0), step: 30});" src="${eventTimeImage}"/>

Ho provato l'id con la citazione, lo stesso risultato.

È possibile per Timepicker? intendo invocarlo con onClick. O viene caricato una volta?

È stato utile?

Soluzione

Desidero rispondere per quanto nessuno lo abbia fatto.

Quindi, la soluzione sembra essere molto più semplice, che appende l'invocazione di Timepicker su onClick.

Yo solo bisogno di focalizzare l'input con un clic sull'immagine:

<img id="time-img" onClick="jQuery('#<portlet:namespace/>_time').focus()"/>

Grazie all'autore del plug-in: sito Timepicker

Quindi questa soluzione può essere utilizzata in altri casi simili, con datepicker ecc.

Altri suggerimenti

Un'altra possibilità (forse più semplice) è usare l'immagine come immagine di sfondo per il campo. Quindi, quando l'utente fa clic sull'immagine, fa davvero clic sull'input, quindi il selettore appare come desiderato. Questa soluzione non richiede alcun codice JS. Ad esempio:

<input type="text" id="demo" />
<style type="text/css">
  #demo
  {
    background-image:url("image.png");
    background-position:right center;
    background-repeat:no-repeat;
  }
</style>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top