2010-04-10 9 views
3

Je suis essayer de lier la dropdowmlist en utilisant jquery. Mais montre une erreur.Reliure liste déroulante en utilisant jquery

code:

     $.ajax({ 
         type: "POST", 
         contentType: "application/json; charset=utf-8", 
         data: "{product: '" + product + "'}", 
         url: "Search.aspx/FetchCategory", 
         dataType: "json", 
         success: function(data) { 
         $.each(data.d, function() { 
           $("#ddlCategory").append($("<option></option>").val(this['ID']).html(this['Category'])); 
          }); 
         } 
        }); 

valeurs dans les données: [{ "Catégorie": "Tous", "ID": "%"}, "Catégorie": "Action" ID ":" 4 "}," Catégorie ":" Race "ID": "5"}, "Catégorie": "sports," ID ":" 6 "}]

erreur:

$ (" # ddlCategory "). append ($ (" "). val (this ['ID']) .html (this ['Category'])); Erreur d'exécution Microsoft JScript: l'objet ne supporte pas cette propriété ou méthode

Geetha

+0

JavaScript est sensible à la casse; le champ de vos données est 'Catégorie' alors que vous tentez d'accéder à 'catégorie'. – meagar

Répondre

6

Geetha: Il semble que data.d renvoie un tableau contenant des objets?

Essayez la mise en œuvre succès comme celui-ci:

success: function(data) { 
    $.each(data.d[0], function(key,value) { 
    $("#ddlCategory").append($("<option></option>").val(key).html(value)); 
    }); 
} 
+0

Je veux également insérer l'identification dans toutes les options. Alors comment puis-je faire cela ???

+0

Vous pouvez modifier le constructeur d'élément '" "' pour en contenir autant ou aussi peu que vous le souhaitez. Par exemple, vous pouvez faire '''' ou simplement '"

+0

Merci ... ça a marché .. –

Questions connexes