Javascript onchange事件在我的代码中不起作用

what is wrong with this code? Why is my onchange event not working? I have tried a lot already and it's making me nuts. Please help?

<!DOCTYPE html>
<html>
<head>
<script type=text/javascript>
function populate(s1,s2){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value == "Chevy"){
var optionArray ["|", "camaro|Camaro", "corvette|Corvette",
"impala|Impala"];
}
else if(s1.value=="Dodge"){
var optionArray=["|", "avanger|Avanger", "challenger|Challenger",
"charger|Charger"];
}
else if(s1.value=="Ford"){
var optionArray=["|", "mustang|Mustang", "shelby|Shelby"];
}
for(var option in optionArray){
var pair=optionArray[option].split("|");
var newOption=document.createElement("option");
newOption.value=pair[0]; 
newOption.innerHtml=pair[1];
s2.options.add(newOption);
}
}
</script>
</head>
<body>
<h2>Choose Your Car</h2>
<hr />
Choose Car Make:
<select id="slct1" name="slct1" onchange="populate(this.id, 'slct2')">
<option value="">Select</option>
<option value="Chevy">Chevy</option>
<option value="Dodge">Dodge</option>
<option value="Ford">Ford</option>
</select>
<hr />
Choose Car Model:
<select id="slct2" name="slct2"></select>
<hr />
</body>
</html>

Anyone, please point out to me where is the exact problem...Let me try running it accordingly

Two changes. Change innerHtml to innerHTML and assign an = sign in

if(s1.value == "Chevy"){
var optionArray ["|", "camaro|Camaro", "corvette|Corvette",
"impala|Impala"];
}

correct the above to

if(s1.value == "Chevy"){
var optionArray = ["|", "camaro|Camaro", "corvette|Corvette",
"impala|Impala"];
}

JSFIDDLE

Try the following:

<select id="slct1" name="slct1" onchange="populate(this, 'slct2')">

js:

populate = function(s1,s2) {
    var s2 = document.getElementById(s2);
    s2.innerHTML = "";
    if(s1.value == "Chevy"){
        var optionArray = ["|", "camaro|Camaro", "corvette|Corvette",
"impala|Impala"];
    }
    else if(s1.value=="Dodge"){
        var optionArray=["|", "avanger|Avanger", "challenger|Challenger",
"charger|Charger"];
    }
    else if(s1.value=="Ford"){
        var optionArray=["|", "mustang|Mustang", "shelby|Shelby"];
    }
    for(var option in optionArray){
        var pair=optionArray[option].split("|");
        var newOption=document.createElement("option");
        newOption.value=pair[0]; 
        newOption.innerHTML=pair[1];
        s2.options.add(newOption);
    }
}

demo: https://jsfiddle.net/xkyffr4h/1/