2013-01-16 9 views
5

Ho il seguente codice HTML utilizzato per creare una pagina:impostando un valore di opzione HTML per la stringa vuota

<select> 
    <option value="" selected>test</option> 
    <option value="test2">test2</option> 
</select> 

Ma quando guardando il codice HTML in ispettore DOM di Google Chrome sembra che questo:

<select> 
    <option value selected>test</option> 
    <option value="test2">test2</option> 
</select> 

Vedere la differenza? Per il primo <option>...</option>, value="" viene convertito in value. Il valore, quando impostato sulla stringa vuota viene semplicemente scartato. C'è un modo per impostare il valore di un tag di opzione sulla stringa vuota? Ho bisogno di questo perché sto estraendo elementi da un database per creare un menu <select>. Ogni <option> avrà il valore value impostato sul valore di un elemento del database e alcuni di questi elementi avranno come stringa il valore della stringa vuota.

risposta

2

È la notazione del DOM di Google Chrome (rimuove '= ""' dagli attributi). Se lo ispezioni con FireBug o semplicemente visualizzi la fonte, vedrai che è OK.

Il tuo codice di esempio produce questo in Google Chrome:

Chrome's inspector removing the quotes and equal sign

E questo è il risultato in FireFox:

FireBug showing that correctly

quindi non preoccupatevi di questo.

+0

Grazie. Sembra un progetto stupido. –

0
<option value="" selected="selected">test</option> 

Ciò significa che il valore è una stringa vuota. Anche se DOM Inspector in cromo vi mostra come quella

1

bob come Hanky ​​detto è possibile utilizzare selected = "selected" or "" modo che il codice sarà:

<select> 
<option value="" selected="selected">test</option> 
<option value="test2">test2</option> 

o

<select> 
<option value="" selected="">test</option> 
<option value="test2">test2</option> 

Il controllo di questo articolo può essere d'aiuto: W3 option language reference

Problemi correlati