2010-12-13 71 views
1

Je tente de générer dynamiquement un groupe de boutons radio, mais lorsque j'ajoute un bouton radio avec jQuery, l'attribut name n'est pas défini correctement.Problème lors de la définition de l'attribut value ou name sur un bouton radio créé dynamiquement

 var radioButtonInput = document.createElement("input") 
     var groupId = groupNodes[i].getAttribute("id"); 
     var groupName = groupNodes[i].getAttribute("displayName"); 

     $(radioButtonInput).attr("type","radio"); 
     $(radioButtonInput).attr("name","radioGroup"); 
     $(radioButtonInput).attr("id", groupId); 

     $("#meetingType h2").after(radioButtonInput); 

Les boutons radio sont créés correctement mais l'attribut name n'est pas présent. J'ai essayé d'utiliser l'attribut html dom .name mais il génère le même résultat.

+0

qu'est ce que '.getAttribute (" displayName ")' –

+0

Cela fonctionne pour moi. Comment vérifiez-vous la présence de l'attribut name? – Emmett

+0

.getAttribute ("displayName") est un attribut que je reçois d'un document XML, mais cela fonctionne très bien. Je vérifie la présence de l'attribut name avec firebug lite pour IE. J'ai IE7, aussi les boutons radio devraient être mutuellement exclusifs si la propriété name est définie correctement mais ils ne le sont pas. – Danick

Répondre

1

Essayez ceci:

var groupId = groupNodes[i].getAttribute("id"); 
var groupName = groupNodes[i].getAttribute("displayName"); 
var radioButtonInput = $("<input>", { "type" : "radio", "id" : groupId, "name" : "radioGroup"}); 

$("#meetingType h2").after(radioButtonInput); 

où vous utilisez groupName car ici le nom d'entrée sera "radioGroup" et non GROUPNAME

0

Je pencherais pour la façon la plus simple:

$("#meetingType h2").after('<input type="radio" id="' + groupNodes[i].id + '" name="' + groupNodes[i].getAttribute("displayName") + '" />'); 

Si toujours pas de chance s'il vous plaît élaborer sur "l'attribut de nom n'est pas présent" - comment pouvez-vous dire cela? Comment vérifiez-vous?