2011-11-18 4 views
0

J'utilise le script de saisie semi-automatique de Combobox of jQuery UI. mais maintenant je dois implémenter une fonction, qui cache chaque option d'une seconde combobox qui n'a pas le même id que celui sélectionné après avoir sélectionné une entrée du premier.gestionnaire d'événements avec saisie semi-automatique jQuery UI - Combobox

peut-être un peu plus clair:

sélectionner un: kundenauswahl

sélectionnez deux: jobauswahl

si une option "kundenauswahl" est selectet, le script doit vérifier les options du second select/combobox ont-ils le même ID que l'option sélectionnée de "kundenauswahl" si c'est le cas, ces options seront montrées, sinon ces options devraient être cachées ...

Je ne sais pas où je foiré, mais avec le script que j'ai écrit maintenant, ma page reste vide après le chargement ... aucun message d'erreur dans Firebug ...

peut-être quelqu'un pourrait aider?

Je suis sûr qu'il ya des échecs de mor à l'intérieur de ce script ...

Je serais heureux si s/o pourrait me aider ... :-(

est le code ici:

$(document).ready(function() { 

     $("#kundenauswahl").combobox({ 
      selected: function(event, ui) { 
       var optionid = document.getElementById("kundenauswahl")[document.getElementById("kundenauswahl").selectedIndex].id; 
       changeoptions(optionid); 
       return; 
      } // selected 
     }); // combobox 

     $("#jobauswahl").combobox({ 

     }); //combobox 

    }); // ready(function()) 


function changeoptions(kundenid) { 
    var idtoshow = kundenid; 
    for (var counter = 0; counter < document.getElementsByName("joboption").length; counter++) { 
     if (document.getElementsByName("joboption")[$counter].id == idtoshow) { 
      document.getElementById(idtoshow).style.display = "block"; 
     } else { 
      document.getElementById(idtoshow).style.display = "none"; 
     } 
    } 
} 

Répondre

0

vous avez une faute de frappe à la variable « $ counter » au lieu de « contre ». aussi, si vous utilisez jquery, pourquoi ne pas aller tout le chemin? par exemple, utilisez

$('#kundenauswahl option:selected')[0].id

au lieu de:

document.getElementById("kundenauswahl")[document.getElementById("kundenauswahl").selectedIndex].id

Enfin, peut-être vous aurez un problème lorsque la page se charge si aucune option est sélectionnée.

+0

merci pour ces conseils, mais ça ne fonctionne toujours pas :-( –

+0

ok j'ai la page de travail à nouveau - j'ai oublié de définir les ID pour les options. :-D mais il semble toujours que le gestionnaire doesn ' t travail ... –

+0

que voulez-vous dire "le gestionnaire ne fonctionne pas"? est la fonction sélectionnée ne s'appelle pas? ou ne fait-il pas ce que vous pensez qu'il devrait? BTW, 2 astuces pour déboguer la situation est d'utiliser la console .log ("xxx") et alert ("xxx"). Le premier écrira du texte sur la console de débogage (si votre navigateur le supporte) et ce dernier lancera le message à l'écran. et vous pouvez montrer différentes variables.En outre, le débogueur chrome est impressionnant IMHO – idanzalz

Questions connexes