variabele meesturen naar dynamische select
Ik heb een dynamische selectbox en vraag me af of en zo ja hoe, ik een variabele kan meesturen naar de resultaten in de selectbox zodat ik een waarde in de selectie als "selected" kan markeren!?
ik gebruik deze functie en heb geprobeerde de variable "zoekwaarde" mee te sturen, maar dit werkt dus niet:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
<script type="text/javascript">
function showArtikelSoorten(str,zoekwaarde)
{
if (str=="")
{
document.getElementById("txtSoort").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtSoort").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","soort.php?groep="+str,"&zoekwaarde="+zoekwaarde,true);
xmlhttp.send();
}
</script>
?>
<script type="text/javascript">
function showArtikelSoorten(str,zoekwaarde)
{
if (str=="")
{
document.getElementById("txtSoort").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtSoort").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","soort.php?groep="+str,"&zoekwaarde="+zoekwaarde,true);
xmlhttp.send();
}
</script>
?>
dit staat in mijn formulier:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
// de selectbox "GROEP" maakt een dynamische selectbox met het onclick event
// de waarde van $ARTIKEL['SOORT'] wil ik meesturen als "selected"
<select name="ARTIKEL[GROEP]" id="ARTIKEL[GROEP]" onclick="showArtikelSoorten(this.value,<?php echo $ARTIKEL['SOORT']; ?>)">
// de selectbox "SOORT" wordt gegenereerd door de functie
<div id="txtSoort">Selecteer Artikelgroep</div>
?>
// de selectbox "GROEP" maakt een dynamische selectbox met het onclick event
// de waarde van $ARTIKEL['SOORT'] wil ik meesturen als "selected"
<select name="ARTIKEL[GROEP]" id="ARTIKEL[GROEP]" onclick="showArtikelSoorten(this.value,<?php echo $ARTIKEL['SOORT']; ?>)">
// de selectbox "SOORT" wordt gegenereerd door de functie
<div id="txtSoort">Selecteer Artikelgroep</div>
?>
het script dat ik hiervoor gebruik (soort.php):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
$groep=$_GET['groep'];
$zoekwaarde=$_GET['zoekwaarde'];
// de query voor de selectbox
$sql="SELECT * FROM ARTIKELSOORTEN WHERE GROEPID = '".mysql_real_escape_string($groep)."' ORDER BY NAAM";
$result = mysql_query($sql);
echo '<select name="ARTIKEL[SOORT]" id="ARTIKEL[SOORT]" >';
echo '<option value="">selecteer</option>';
while($row = mysql_fetch_array($result)) {
if ($row['BLOCK'] == "J") {
$disabled = 'disabled="disabled"';
} else {
$disabled = NULL;
}
if ($row['ID'] == $zoekwaarde) {
$selected = 'selected="selected"';
} else {
$selected = NULL;
}
echo '<option value="';
echo $row['ID'];
echo '" '.$disabled.' '.$selected.' >';
echo $row['NAAM'];
echo '</option>';
}
echo '</select>';
?>
$groep=$_GET['groep'];
$zoekwaarde=$_GET['zoekwaarde'];
// de query voor de selectbox
$sql="SELECT * FROM ARTIKELSOORTEN WHERE GROEPID = '".mysql_real_escape_string($groep)."' ORDER BY NAAM";
$result = mysql_query($sql);
echo '<select name="ARTIKEL[SOORT]" id="ARTIKEL[SOORT]" >';
echo '<option value="">selecteer</option>';
while($row = mysql_fetch_array($result)) {
if ($row['BLOCK'] == "J") {
$disabled = 'disabled="disabled"';
} else {
$disabled = NULL;
}
if ($row['ID'] == $zoekwaarde) {
$selected = 'selected="selected"';
} else {
$selected = NULL;
}
echo '<option value="';
echo $row['ID'];
echo '" '.$disabled.' '.$selected.' >';
echo $row['NAAM'];
echo '</option>';
}
echo '</select>';
?>
Toevoeging op 30/11/2010 16:04:28:
ik heb een oplossing gevonden door de functie aan te passen en roep de functie (javascript) aan zodra er een zoekwaarde is:
Code (php)
Hierbij de aangepaste (werkende) functie:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
<script type="text/javascript">
function showArtikelSoorten(str)
{
if (str=="")
{
document.getElementById("txtSoort").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtSoort").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","soort.php?zoekwaarde=<?php echo $ARTIKEL['SOORT']; ?>&groep="+str,true);
xmlhttp.send();
}
</script>
?>
<script type="text/javascript">
function showArtikelSoorten(str)
{
if (str=="")
{
document.getElementById("txtSoort").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtSoort").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","soort.php?zoekwaarde=<?php echo $ARTIKEL['SOORT']; ?>&groep="+str,true);
xmlhttp.send();
}
</script>
?>
Kortom, opgelost!
Gewijzigd op 30/11/2010 16:42:33 door Marco V
Er zijn nog geen reacties op dit bericht.