2010-02-09 5 views
1

Je ne sais pas où commencer les travaux sur celui-ci ...compatibilité IE/jquery, peuplant dynamiquement un champ de sélection

j'ai une fonction qui prend un champ de saisie de sélection ID et il remplit avec un éventail d'options.

function populateSelect(selectId, options){ 

    options = options.split(';'); 
    selectId.find('option').remove().end(); 

    $.each(options, function(i, option){ 
     option = option.split(':'); 
     selectId.append($('<option />').val(String(option[0].trim())).text(String(option[1].trim()))); 
    }); 
} 

Un appel exemple serait ...

selectId = $("#dateBar_graphSelect"); 
var options = 'Pie:Pie;Column:Column'; 
populateSelect(selectId, options); 

L'erreur que je reçois dans IE 8 est ...

objet ne prend pas en charge cette propriété ou méthode (selectId.append line)

Considérant que cette ligne a plusieurs méthodes étant appelé je n'ai aucune idée ce qui pourrait se passe ici.

Même un conseil sur les situations de débogage comme ça ferait un monde de bien pour moi !!

-Merci à l'avance pour l'aide

+0

Je devine qu'il a quelque chose à voir avec ... '. append ($ ('

Répondre

0

Le script se casse à option[0].trim()

Cela fonctionne ...

function populateSelect(selectId, options){ 

    options = options.split(';'); 
    selectId.find('option').remove().end(); 

    $.each(options, function(i, option){ 
     option = option.split(':'); 

    selectId.append($('<option>') 
      .val(String(option[0])) //NOTE - no trim 
      .text(String(option[1]))); 
    }); 
} 
+0

Je me demande pourquoi .trim() casse dans IE dans cette fonction? –

Questions connexes