Сообщение от Ruslan_xDD
|
Если именно строкой, то:
slct.setAttribute('onchange', 'setFishes(this)');
|
вот это более точно. короче, полная картина:
есть форма, в которой есть 2 селекта:
<div id="fich">
<select name="fish" onchange="setFishes(this)">
<option value="" selected>Первый список:</option>
<option value="first">один</option>
<option value="second">два</option>
</select>
<select name="color">
<option value="" selected>Второй список:</option>
</select>
</div>
к первому есть функция
function setFishes(chooser){
var newElem;
var wtf = ( navigator.appName == "Microsoft Internet Explorer" ) ? -1 : null;
var fishChooser = chooser.form.elements["color"];
while (fishChooser.options.length){
fishChooser.remove(0);
}
var choice = chooser.options[chooser.selectedIndex].value;
var ki = fishki[choice];
newElem = document.createElement("option");
newElem.text = "Второй список:";
newElem.value = "";
fishChooser.add(newElem, wtf);
if ( choice != "" ){
for (var i=0;i<ki.length;i++){
newElem = document.createElement("option");
newElem.text = ki[i].text;
newElem.value = ki[i].value;
fishChooser.add(newElem, wtf);
}
}
}
var fishki = new Object();
fishki["first"] = [
{ value:"three", text:"три" },
{ value:"four", text:"четыре" },
{ value:"five", text:"пять" },
{ value:"six", text:"шесть" }
];
fishki["second"] = [
{ value:"seven", text:"семь" },
{ value:"eight", text:"восемь" },
{ value:"nine", text:"девять" },
{ value:"ten", text:"десять" }
];
клонировать получилось всё. но теперь вот такая ошибка:
Cannot read property 'length' of undefined.