login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ajax dropdown vullen na checkbox

Offline phobia - 22/09/2009 00:13 (laatste wijziging 22/09/2009 00:14)
Avatar van phobiaNieuw lid Ik heb een dropdown die ik wil laten veranderen door de keuze van twee checkboxen. Een van de twee checkboxen kan true zijn, nooit samen.

De checkboxen zijn 'binnen_gekomen' en 'verstuurd'

het probleem:

Als ik de pagina laad, dan is 'binnen_gekomen' true.
De dropdown geeft de datum's die daarbij horen uit de database.

Kies ik voor 'verstuurd', dan vult de dropdown zich met de datum's die daarbij horen uit de database.

tot zover klopt het nog(alleen dan dat de de dropdown pas word herladen als ik de dropdown aanklik)

MAAR als ik nu weer terug wil naar 'binnen_gekomen', dan herlaad de dropdown zich wel. maar met de gegevens van 'verstuurd'

dit is de code die ik gebruik:
  1. <?
  2. $_POST['binnen_gekomen'] = "true";
  3. ?>
  4. <script type="text/javascript">
  5. function getXMLHTTP() { //fuction to return the xml http object
  6.  
  7. var xmlhttp=false;
  8. try {
  9. xmlhttp=new XMLHttpRequest();
  10. } catch(e) {
  11. try {
  12. xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
  13. } catch(e) {
  14. try{
  15. xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  16. } catch(e1) {
  17. xmlhttp=false;
  18. }
  19. }
  20. }
  21.  
  22. return xmlhttp;
  23. }
  24.  
  25. function datum(strURL) {
  26.  
  27. var req = getXMLHTTP(); // fuction to get xmlhttp object
  28.  
  29. if (req) {
  30.  
  31. req.onreadystatechange = function() {
  32.  
  33. if (req.readyState == 4) { //data is retrieved from server
  34.  
  35. if (req.status == 200) { // which reprents ok status
  36.  
  37. document.getElementById('drop').innerHTML=req.responseText;
  38. } else {
  39. alert("There was a problem while using XMLHTTP:\n");
  40. }
  41. }
  42. }
  43. req.open("GET", strURL, true); //open url using get method
  44. req.send(null);
  45. alert(8);
  46. }
  47. }
  48. </script>
  49.  
  50. <head>
  51. <style type="text/css">
  52. .style10 {
  53. font-size: small;
  54. }</style>
  55. </head>
  56.  
  57. <FORM style="position: absolute; width: 170px; height: 139px; z-index: 1; left: 782px; top: 0px;"
  58. id="layer1" class="style3" name"zoeken" target="I1" method="POST"
  59. action="../../loggedin/orders/order_zoekdatum.php"
  60. style="width: 100px" class="style10">
  61.  
  62. <span class="style10">
  63.  
  64. <input type="checkbox" id="binnen_gekomen" name="binnen_gekomen" checked="checked"
  65. onchange="datum('filldrop.php')"
  66. onclick="if (this.checked!=true) { document.getElementById('verstuurd').checked=true }
  67. else { document.getElementById('verstuurd').checked=false } " /></span> Ontvangen<br />
  68.  
  69. <span class="style10">
  70.  
  71. <input type="checkbox" id="verstuurd" name="verstuurd"
  72. onchange="datum('filldrop.php')"
  73. onclick="if (this.checked!=true) { document.getElementById('binnen_gekomen').checked=true }
  74. else { document.getElementById('binnen_gekomen').checked=false }" /></span> Verzonden
  75.  
  76. <div id="drop">
  77. <?
  78. include('filldrop.php');
  79. ?>
  80. </div>
  81. <input type="submit" name="zoeken" value="Zoeken">
  82. </FORM>


en voor het laden filldrop.php:
  1. <?php
  2. if (!isset($_SESSION)) {
  3. }
  4.  
  5. include ('../functions/connect.php'); //verbinding maken
  6.  
  7. if (isset($_POST['binnen_gekomen']))
  8. {
  9. $datum = "datumIn";
  10. $query = ("SELECT DISTINCT
  11. date_format(datumIn, '%d-%m-%Y') AS datumIn
  12. FROM tblbriladmin
  13. WHERE debnr = ".$_SESSION['Klant_id']) ;// Opzoeken orders gegevens
  14. }
  15. else
  16. {
  17. $datum = "datumUit";
  18. $query = ("SELECT DISTINCT
  19. date_format(datumUit, '%d-%m-%Y') AS datumUit
  20. FROM tblbriladmin
  21. WHERE debnr = ".$_SESSION['Klant_id']) ;// Opzoeken orders gegevens
  22. }
  23. ?>
  24. <select name="zoekdatum" style="width: 110px">
  25. <option value="kies_datum" >Kies Datum</option>
  26. <?
  27. //query is aangemaakt
  28. $sql = mysql_query($query) or die ( mysql_error( ) );
  29. //query is uitgevoerd
  30.  
  31. while($record = mysql_fetch_object($sql))
  32. {
  33.  
  34. echo '<option value="'.trim($record->$datum).'" >'.trim($record->$datum).'</option>';
  35.  
  36. }
  37.  
  38. ?>
  39. </select>


Kan iemand mij helpen? Ik kom er niet meer uit!!!

2 antwoorden

Gesponsorde links
Offline Abbas - 22/09/2009 00:20
Avatar van Abbas Gouden medaille

Crew .NET
Als maar één van de twee CheckBox-controls true kan zijn, waarom werk je dan niet met een RadioButton?!
Offline phobia - 22/09/2009 00:56 (laatste wijziging 22/09/2009 01:01)
Avatar van phobia Nieuw lid Omdat ik op deze manier begonnen ben.
Maar het probleem van het vullen is bijna opgelost.

Ik zoek/wil alleen nog dat ik niet eerst de dropdown moet aanklikken voor dat deze herladen word. maar op het moment dat ik een van de twee checkboxen aanklik dat de dorpdown vernieuwd word.

Heb nu radiobuttons, okey staat ook goed.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.199s