select 或text的onchange事件需要手動(通過鍵盤輸入)改變select或text的值才能觸發,如果在js中給select或text賦值,則無法觸發onchang事件,
例如,在頁面加載完成以后,需要觸發一個onChange事件,在js中用document.getElementById("se").value="ttt";直接給select或text賦值是不行的,要想實現手動觸發onchange事件,需要在js給select賦值后,加入下面的語句,(假設select的id為sel)
document.getElementById("sel").fireEvent('onchange') 來實現,
例子:
<html><body>
<select id="sel" name="test" onchange="demo()">
<option value="1" selected>測試一</option>
<option value="2">測試二</option>
<option value="3">測試三</option>
<option value="4">測試四</option>
</select>
<input id="tex" type="text" name="text1" id="text1">
<script>
document.getElementById("sel").value="3";
document.getElementById("sel").fireEvent("onchange");
function demo()
{
var d=document.getElementById("sel").value;
document.getElementById("tex").value=d;
//alert(d);
}
</script>
</body></html>
上面的代碼產生的效果就相當于鼠標在select元素上進行了選擇,模仿出了select的onchange效果