我想加載選項下拉列表取決於在其他下拉列表中所做的選擇。我已經編寫了幾乎適用於所有主流瀏覽器的代碼,FF,Opera,Safari,但在IE7中無法使用。爲什麼這個JavaScript事件不適用於IE ..?
這裏是我的Javascript代碼:
<script type = "text/javascript">
var txt1 = "<option>state1<\/option><option>state2<\/option><option>state3<\/option><option>state4<\/option>";
var txt2 = "<option>stateA<\/option><option>stateB<\/option><option>stateC<\/option><option>stateD<\/option><option>stateE<\/option>";
function states_val() {
if(document.getElementById("country").options[0].selected==true) {
document.getElementById("states").disabled=true;
document.getElementById("states").innerHTML="<option>Select country<\/option>";
}
else if(document.getElementById("country").options[1].selected==true) {
document.getElementById("states").disabled=false;
document.getElementById("states").innerHTML=txt1;
}
else if(document.getElementById("country").options[2].selected==true) {
document.getElementById("states").disabled=false;
document.getElementById("states").innerHTML=txt2;
}
}
</script>
和HTML代碼:
<select id="country" name="name_country" onchange="states_val()">
<option>select</option>
<option>country1</option>
<option>country2</option>
</select>
<select id="states" name="name_states"></select>
我一定與客戶端腳本,並有只模擬這種使用Javascript。請幫我調試代碼。
在快看,我看不出有什麼毛病腳本。難道你期待* onchange *事件立即被觸發,而事實上它只有在控件失去焦點時纔會被觸發(你點擊/選擇除下拉框以外的任何東西)。 – 2010-02-08 13:37:01
@miguel,對不起,我沒有明白你的意思。 – user268533 2010-02-08 14:00:26
@miguel,以及我的要求,正如我所提到的,需要改變一個選擇元素的選項值取決於其他。 – user268533 2010-02-08 14:01:34