I've got a script where I am dynamically creating select boxes. When those boxes are created, we want to set the onchange
event for the new box to point to a function called toggleSelect()
.
I can't seem to get the syntax right to create the onchange
event. Can someone tell me what I'm doing wrong? It doesn't throw an error, but doesn't work, either.
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);
Here's another way of attaching the event based on W3C DOM Level 2 Events Specification :
transport_select.addEventListener(
'change',
function() { toggleSelect(this.id); },
false
);
Add
transport_select.setAttribute("onchange", function(){toggleSelect(transport_select_id);});
or try replacing onChange
with onchange
replace:
transport_select.onChange = function(){toggleSelect(transport_select_id);};
with:
transport_select.onchange = function(){toggleSelect(transport_select_id);};
on' C 'hange >> on' c 'hange
You can use addEventListener too.
yourSelect.setAttribute( "onchange", "yourFunction()" );
If you are using prototype.js then you can do this:
transport_select.observe('change', function(){
toggleSelect(transport_select_id)
})
This eliminate (as hope) the problem in cross-browsers
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.