2009-12-31 3 views
0

J'utilise le code ci-dessous pour remplir DropDown:DropDown ne pas remplir dynamiquement

$(document).ready(function(){ 
    $('#inDistrict').sSelect(); 
    $("#inDistrict").change(function(){ 
    $.getJSON("filldistricts.php",{id: $(this).val(), ajax: 'true'}, function(j){ 
     var options = ''; 
     for (var i = 0; i < j.length; i++) { 
     options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>'; 
     } 
    }) 
    }) 
}) 

Le code du fichier: filldistricts.php est comme ci-dessous:

<?php 
    require_once("../Lib/dbaccess.php"); 
    $query = "SELECT districtid, districtname FROM districtmaster"; 
    try 
    { 
    $result = dbaccess::GetRows($query); 
    echo json_encode($result); 
    } 
    catch(exception $ex) 
    { 
     echo "<script type='text/javascript'>alert('".$ex."')</script>"; 
    } 
?> 

dropDown ne se remplit pas. Où est le problème?

Edited:

DBAccess.php [fonction GetRows] contient seulement le code suivant:

$resultSet = mysql_query($inQuery); 
return $resultSet; 

connexion est ouvert avant que le code ci-dessus.

Répondre

1

Vous créez la variable options dans le gestionnaire de changement, mais vous ne mettez pas du tout le résultat final dans la liste déroulante!

Essayez:

$.getJSON("filldistricts.php",{id: $(this).val(), ajax: 'true'}, function(j){ 
    var options = []; 
    for (var i = 0; i < j.length; i++) { 
    options.push('<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>'); 
    } 
    // change #whatever to the id of the dropdown you 
    // want to update, it's not clear from your question 
    $('#whatever').html(options.join('')); 
}) 
+0

Pour votre information, '' push' puis join' au lieu de concatention chaîne devrait être un peu plus rapide, c'est la raison pour laquelle je l'ai changé. – rfunduk

+0

Ne fonctionne toujours pas. – RKh

+1

Pouvez-vous être plus précis? Est-ce que le résultat du back-end revient correctement? Essayez 'console.log (options.join (''))' après la boucle for et assurez-vous qu'il semble correct. Quel menu déroulant tentez-vous de modifier? – rfunduk

Questions connexes