webForumDet fria alternativet

Flera värden i option value?

HTML & CSS

3 svar · 447 visningar · startad av vela

Medlem sedan okt. 20079 inlägg
Frågan#1

Hejsan.

I en sökfunktion jag knåpat ihop (php, i en mysql-databas), kan man välja att söka på lite olika parametrar, vilka väljs via en drop-down-meny, och hämtas via ett get-kommando. Jag undrar nu om man kan ge ett "option value" flera värden, så att när jag väljer exv. "Frukt" ur drop-down-menyn, så skulle man då i själva verket söka på både banan, äpple, päron och melon.

Alltså typ: <select name="livsmedel">
<option value="banan" "äpple" "päron" "melon">Frukt</option>

Men jag förstår att det inte fungerar så. Jag misstänker att man måste använda nåt javascript?

Mycket tacksam för hjälp,
/victor

Medlem sedan juni 200032 967 inlägg
#2

Enklast är nog om du lägger alla värden med lämplig separator i value, och sedan delar upp dem igen när du hämtar in värdet med php.

<option value="banan|||äpple|||päron|||melon">

http://se2.php.net/manual/en/function.explode.php

Medlem sedan okt. 20079 inlägg
#3

Okej. Ska kolla upp det och se om jag får det att funka. Tack så mycket för hjälpen!

Medlem sedan mars 20041 505 inlägg
#4

Deklarera en php-array på serversidan med dina förvalda värden.
Exempelvis såhär:

$values = array(
	'frukt' => array('banan', 'äpple', 'päron', 'melon'),
	'färg' => array('gul', 'grön', 'blå', 'röd')
);

Sen har du en option för varje array-index:

<select name="foo">
	<option value="frukt">Frukt</option>
	<option value="färg">Färger</option>
</select>

Och sen när formuläret är postat så hämtar du rätt värden i din array såhär:

$foo = $values[$_POST['foo']];

(Väldigt simpel kod som kan förbättras, men jag hoppas du förstår principen :bire )

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)