login  Naam:   Wachtwoord: 
Registreer je!
 Forum

data dropdown verdwijnt na submitten (onchange)

Offline JLT - 14/03/2012 10:37 (laatste wijziging 15/03/2012 11:23)
Avatar van JLTPHP interesse - edit -

Ik heb het script vervangen waardoor het allemaal wat overzichtelijker wordt. Het probleem is helaas hiermee niet opgelost.

In het kort: hoe zorg ik ervoor dat de content niet alleen te zien is na het veranderen van de dropdown, maar ook na bv. het laden van de pagina?

  1. $(document).ready(function(){
  2.  
  3. $("#selectionresult").hide();
  4.  
  5. $("#selection").change( function() {
  6. $("#selectionresult").hide();
  7.  
  8. $("#result").html('Retrieving');
  9.  
  10. $.ajax({
  11.  
  12. type: "POST",
  13. data: "selection=" + $(this).val(),
  14. url: "http://www.********.nl/templates/***/include/modellen.php",
  15. success: function(msg){
  16.  
  17. if (msg != ""){
  18.  
  19. $("#selectionresult").html(msg).show();
  20. $("#result").html("");
  21.  
  22. } else {
  23.  
  24. $("#result").html('<em>No item result</em>');
  25.  
  26. }
  27.  
  28. }
  29.  
  30. });
  31.  
  32. });
  33.  
  34. });

3 antwoorden

Gesponsorde links
Offline vinTage - 14/03/2012 20:57
Avatar van vinTage Nieuw lid Je zult dan met iets uit de url moeten werken, evt iets met een hashtag of $_GET['...']
Offline JLT - 15/03/2012 15:00
Avatar van JLT PHP interesse Hoi vinTage,

Ik heb het inmiddels opgelost. Het was wel even sleutel en het is een combinatie van PHP en Jquery geworden. Hoogst waarschijnlijk een te complexe oplossing, maar omdat ik geen andere zie gebruik ik deze tot die tijd.

Hieronder het script dat ik nu gebruik:

  1. $(document).ready(function(){
  2.  
  3. $("#selectionresult").hide();
  4.  
  5. <?php if (!isset($_POST['submit'])) { echo '$("#selection").change( function() {' ; } ?>
  6.  
  7. $("#selectionresult").hide();
  8.  
  9. $("#result").html('Retrieving');
  10.  
  11. $.ajax({
  12.  
  13. type: "GET",
  14. data: <?php if (isset($_POST['submit'])) { echo '"selection='.$_POST['merk'].'&selection_model='.$_POST['model'].'",' ; } else { echo "\"selection=\" + $(this).val(),\n" ; } ?>
  15. url: "http://www.***.nl/templates/***/include/modellen.php",
  16. success: function(msg){
  17.  
  18. if (msg != ""){
  19.  
  20. $("#selectionresult").html(msg).show();
  21. $("#result").html("");
  22.  
  23. } else {
  24.  
  25. $("#result").html('<em>No item result</em>');
  26.  
  27. }
  28.  
  29. }
  30.  
  31. <?php if (!isset($_POST['submit'])) { echo '});' ; } ?>
  32.  
  33. });
  34.  
  35. });
  36.  
  37. $(document).ready(function(){
  38.  
  39. $("#selectionresult").hide();
  40.  
  41. $("#selection").change( function() {
  42.  
  43. $("#selectionresult").hide();
  44.  
  45. $("#result").html('Retrieving');
  46.  
  47. $.ajax({
  48.  
  49. type: "GET",
  50. data: "selection=" + $(this).val(),
  51. url: "http://www.***.nl/templates/***/include/modellen.php",
  52. success: function(msg){
  53.  
  54. if (msg != ""){
  55.  
  56. $("#selectionresult").html(msg).show();
  57. $("#result").html("");
  58.  
  59. } else {
  60.  
  61. $("#result").html('<em>No item result</em>');
  62.  
  63. }
  64.  
  65. }
  66.  
  67. });
  68.  
  69. });
  70.  
  71. });


In eerste instantie het jquery script gebruikt (met PHP variabele voor na het posten). Dit werkte goed, maar omdat de .change functie 'uit staat' na het submitten kon ik de modellen niet meer wijzigen. Dit heb ik opgelost door het script nog een keer te laden, maar nu met .change functie. Ook send ik nu (middels GET) en voer ik twee vars mee (merk EN model). Hopelijk snapt iemand er nog wat van haha...

Als iemand een betere en subtielere oplossing heeft hoor ik het natuurlijk graag!

vinTage bedankt voor het meedenken
Offline JLT - 15/03/2012 15:00
Avatar van JLT PHP interesse Hoi vinTage,

Ik heb het inmiddels opgelost. Het was wel even sleutel en het is een combinatie van PHP en Jquery geworden. Hoogst waarschijnlijk een te complexe oplossing, maar omdat ik geen andere zie gebruik ik deze tot die tijd.

Hieronder het script dat ik nu gebruik:

  1. $(document).ready(function(){
  2.  
  3. $("#selectionresult").hide();
  4.  
  5. <?php if (!isset($_POST['submit'])) { echo '$("#selection").change( function() {' ; } ?>
  6.  
  7. $("#selectionresult").hide();
  8.  
  9. $("#result").html('Retrieving');
  10.  
  11. $.ajax({
  12.  
  13. type: "GET",
  14. data: <?php if (isset($_POST['submit'])) { echo '"selection='.$_POST['merk'].'&selection_model='.$_POST['model'].'",' ; } else { echo "\"selection=\" + $(this).val(),\n" ; } ?>
  15. url: "http://www.***.nl/templates/***/include/modellen.php",
  16. success: function(msg){
  17.  
  18. if (msg != ""){
  19.  
  20. $("#selectionresult").html(msg).show();
  21. $("#result").html("");
  22.  
  23. } else {
  24.  
  25. $("#result").html('<em>No item result</em>');
  26.  
  27. }
  28.  
  29. }
  30.  
  31. <?php if (!isset($_POST['submit'])) { echo '});' ; } ?>
  32.  
  33. });
  34.  
  35. });
  36.  
  37. $(document).ready(function(){
  38.  
  39. $("#selectionresult").hide();
  40.  
  41. $("#selection").change( function() {
  42.  
  43. $("#selectionresult").hide();
  44.  
  45. $("#result").html('Retrieving');
  46.  
  47. $.ajax({
  48.  
  49. type: "GET",
  50. data: "selection=" + $(this).val(),
  51. url: "http://www.***.nl/templates/***/include/modellen.php",
  52. success: function(msg){
  53.  
  54. if (msg != ""){
  55.  
  56. $("#selectionresult").html(msg).show();
  57. $("#result").html("");
  58.  
  59. } else {
  60.  
  61. $("#result").html('<em>No item result</em>');
  62.  
  63. }
  64.  
  65. }
  66.  
  67. });
  68.  
  69. });
  70.  
  71. });


In eerste instantie het jquery script gebruikt (met PHP variabele voor na het posten). Dit werkte goed, maar omdat de .change functie 'uit staat' na het submitten kon ik de modellen niet meer wijzigen. Dit heb ik opgelost door het script nog een keer te laden, maar nu met .change functie. Ook send ik nu (middels GET) en voer ik twee vars mee (merk EN model). Hopelijk snapt iemand er nog wat van haha...

Als iemand een betere en subtielere oplossing heeft hoor ik het natuurlijk graag!

vinTage bedankt voor het meedenken
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s