2013-01-16 14 views
5

Mam następujący kod HTML używany do tworzenia na stronie:ustawiania wartości opcji HTML do pustej struny

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

Ale patrząc na HTML w przeglądarce Google Chrome DOM Inspector wygląda to tak:

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

Widzisz różnicę? Po raz pierwszy <option>...</option>, value="" jest zamieniany tylko na value. Wartość ustawiona na pusty ciąg jest po prostu odrzucana. Czy istnieje sposób na ustawienie wartości tagu opcji na pusty ciąg znaków? Potrzebuję tego, ponieważ wyciągam elementy z bazy danych, aby utworzyć menu <select>. Każde ustawienie <option> ma wartość value ustawioną na wartość elementu bazy danych, a niektóre z tych elementów mają pusty łańcuch jako ich wartość.

Odpowiedz

2

Jest to tylko notatka inspektora DOM przeglądarki Google Chrome (usuwa "=" "" z atrybutów). Jeśli przejrzysz go za pomocą FireBuga lub po prostu wyświetlisz źródło, zobaczysz, że jest OK.

Twój przykładowy kod tworzy to w Google Chrome:

Chrome's inspector removing the quotes and equal sign

I to jest wynik Firefox:

FireBug showing that correctly

Więc nie martw się o to.

+0

Dzięki. Wygląda jak głupi projekt. –

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

Oznacza to, że wartość jest pustym ciągiem. Nawet jeśli dom inspektor w chromie pokazuje, jak ten

1

bob jak chusteczka powiedział można użyć selected = "selected" or "" więc kod będzie:

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

lub

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

Sprawdzanie tego artykułu może pomóc: W3 option language reference

Powiązane problemy