Dynamiczne generowanie listy rozwijanej

0

Cześc mam taki problem: chciałbym stworzyć formularz składający się z listy rozwijalnej z tym ,że lista ta jest wypełniana danymi pobieranymi z bazy danych, i problem polega na tym że potrzebuje stworzyć przycisk który będzie służył do dodawania kolejnej takiej samej listy z tymi samymi danymi jednak wszelkie pola formularza typu name muszą byc unikalne
i teraz precyzując problem w jaki sposób przy pomocy javascriptu wygenerować taką listę, czy da się np. przekazać w łatwy sposób tablicę asocjacyjną z php do js ? Może podam fragmenty kodu jak to wygląda:

<div id="dni_info">
	<tr>
		<td>Poziom</td>
		<td>
			<select name='poziom'>
			<? while ($row=pg_fetch_assoc($dni)) { 
				echo("<option value=" . $row['dzien_id'] . ">" . $row['nazwa']. "</option>");
			}
			?>
			</select>
		</td>
	</tr>
		
	</div>
 

chcę to powtórzyć więc tworzę przycisk:

 
<div>
		<input type="button" value="Dodaj kolejny termin zajęć" onclick="dodaj_dzien('dni_info');" />
		
	</div>

I teraz jeszcze ta funkcja na razie kompletnie bezużyteczna i tu proszę o pomoc :

 
<script type="text/javascript">
<!--
var nr_dnia=0;
function dodaj_dzien(kontener){
	nr_dnia=nr_dnia+1;
	var znacznik = document.createElement('select');
	znacznik.setAttribute('name', 'dzien');
	var kontener = document.getElementById(kontener);
	kontener.appendChild(znacznik);
}
//-->
</script>

Nie mam pomysłu jak po pierwsze przekazać tą tabice do js no i może prostsza sprawa jak wygenerować taki fragment kodu z zagnieżdżonymi znacznikami html. Może ktoś ma w ogóle lepszy pomysł jak ugryśc ten temat ?
Z góry dziękuje za pomoc

1

Przekazanie tablicy czy jakiejkolwiek zmiennej z PHP do Javascript nie jest trudne.

Zakładając, że mamy jakiś cokolwiek w PHP w zmiennej $napis, aby wykorzystać go w JS możemy napisać

<script type="text/javascript">
  var jsNapis = '<?php echo $napis?>';
</script>
 

I gotowe. Przekazanie tablicy jest nieco bardziej rozbudowane bo musisz ją zapisać w JS.
Aczkolwiek kodowanie samemu to raczej kiepskie rozwiązanie, wykorzystaj jakiś JSON przykładowo, sam zakoduje Ci zmienną.

Co do Twojego problemu, nie bardzo rozumiem pytanie o generowanie kodu z "zagnieżdżonymi znacznikami html". W tej funkcji w JS masz tworzenie <select> i dodawanie go do kontenera, w czym więc problem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1