2013-11-25 10 views
15

Ho il plug-in scelto per la selezione singola implementato nel mio codice. Sto cercando di aggiungere il testo segnaposto per le caselle di ricerca, ma non sono in grado di farlo. Ho provato le seguenti cose:testo segnaposto per il plugin scelto per selezione singola non funzionante

<select id="search_pi" name="search_pi" type="text" class="chosen-select" 
     style="width:450px;" onchange="this.form.submit()" > 

    <option value="">Search Project/Initiative...</option> 
    <?php 
    include "../includes/search_dropdown.php"; 
    foreach($proj_ini_Array as $qa){ 
     echo "<option value = \"$qa\">$qa</option>"; 
    } 
    ?> 

JS

<script> 
    $(document).ready(function() { 
    $('.chosen-select').chosen({ 
     placeholder_text_single: "Select an option", 
     no_results_text: "Oops, nothing found!" 
    }); 
    }); 
</script> 

Nel campo di selezione, ho anche provato ad utilizzare data-placeholder="Select an option" ma questo non aiuta troppo. Qualcuno può farmi sapere cosa mi manca?

Grazie in anticipo.

+0

Segnaposto testo? Intendi semplicemente aggiungere un attributo 'disabled' al primo tag'

+0

Sì, esattamente. Il testo evidenziato nella casella del modulo. – rond

risposta

27

Ok. Ho trovato la risposta. Abbiamo bisogno di avere la prima opzione vuota per il testo segnaposto da attivare per la casella di ricerca Selezione singola.

<select id="search_pi" name="search_pi" type="text" class="chosen-select" style="width:450px;" onchange="this.form.submit()" > 

    <option> </option> 
    <?php 
    include "../includes/search_dropdown.php"; 
    foreach($proj_ini_Array as $qa){ 
     echo "<option value = \"$qa\">$qa</option>"; 
    } 
    ?> 

Nel caso precedente, il testo del segnaposto sarà impostato su "Seleziona un'opzione".

Per un segnaposto-testo per una singola ricerca casella di selezione è possibile modificare il file come sotto le js e hanno la prima opzione in bianco per il testo segnaposto da visualizzare:

<script> 
    $(document).ready(function() { 
    $('.chosen-select').chosen({ 
     placeholder_text_single: "Select Project/Initiative...", 
     no_results_text: "Oops, nothing found!" 
    }); 
    }); 
</script> 
3

Per rendere la vostra prima opzione semplicemente un testo di orientamento, ma incapace per gli utenti di selezionare, utilizzare questo:

<option selected="selected" disabled>Search Project/Initiative...</option> 

* Edit *

ah scusa, non ha letto la tua domanda abbastanza chiaramente per cominciare.

Apparentemente il primo <option> deve essere vuoto. Vedi this jsfiddle.

+0

Sembra davvero un'opzione ...ma preferirei usare la funzionalità di testo segnaposto che ha scelto le offerte. Dai un'occhiata a questo link http://harvesthq.github.io/chosen/options.html – rond

+0

@rond: Vedi la risposta modificata. :) – t0mppa

+0

@ tOmppa- L'ho capito :) Ma non potevo rispondere alla mia domanda :(Non dovremmo mantenere vuota la prima opzione per una casella di selezione multipla – rond

20

uso data-placeholder="YOUR TEXT" in select tag

+0

grazie! mi ha aiutato !! :) –

1

In realtà c'è una soluzione migliore/più semplice a questo problema se si sta costruendo tramite HTML piuttosto che JS. Devi fare due cose.

  1. Il primo <option> nel proprio <select> deve essere vuoto.
  2. È necessario includere placeholder="Placeholder goes here" nel numero <select>. Apparentemente questo è stato chiamato una volta data-placeholder, che penso abbia portato ad una certa confusione.

Quindi, in totale:

<select placeholder="Placeholder goes here"> 
    <option><!-- Empty option goes here. --><option> 
    <option>Other Option</option> 
</select> 
0

Risposta utente @Zack Joerdan risolto il mio problema. Quindi il valore richiesto della molla all'interno dell'opzione

Problemi correlati