J'ai un script où je crée dynamiquement des boîtes de sélection. Lorsque ces boîtes sont créées, nous voulons définir l'événement onchange pour que la nouvelle boîte pointe vers une fonction appelée toggleSelect ().
Je n'arrive pas à obtenir la bonne syntaxe pour créer l'événement onchange. Quelqu'un peut-il me dire ce que je fais mal? Cela ne génère pas d'erreur, mais ne fonctionne pas non plus.
col = dataRow.insertCell(0);
var transport_select = document.createElement('select');
transport_select.id = transport_select_id;
transport_select.options[0] = new Option('LTL', 'LTL');
transport_select.options[1] = new Option('FTL', 'FTL');
transport_select.onChange = function(){toggleSelect(transport_select_id);};
col.appendChild(transport_select);
Ajouter
transport_select.setAttribute("onchange", function(){toggleSelect(transport_select_id);});
ou essayez de remplacer onChange
par onchange
Voici une autre façon d'attacher l'événement en fonction de spécification des événements W3C DOM niveau 2 :
transport_select.addEventListener(
'change',
function() { toggleSelect(this.id); },
false
);
remplacer:
transport_select.onChange = function(){toggleSelect(transport_select_id);};
avec:
transport_select.onchange = function(){toggleSelect(transport_select_id);};
sur ' [~ # ~] c [~ # ~] ' hange >> sur ' c ' suspendre
Vous pouvez également utiliser addEventListener .
Si vous utilisez prototype.js, vous pouvez le faire:
transport_select.observe('change', function(){
toggleSelect(transport_select_id)
})
Cela élimine (comme on l'espère) le problème dans cross-browser