我有一个这样的脚本:
<html>
<head></head>
<body>
<select id="first" onchange="deleteitem()">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
<option value="6">Six</option>
<option value="7">Seven</option>
<option value="8">Eight</option>
<option value="9">Nine</option>
</select><br >
<select id="second" >
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
<option value="6">Six</option>
<option value="7">Seven</option>
<option value="8">Eight</option>
<option value="9">Nine</option>
</select><br >
<script>
var one = document.getElementById('first');
var two = document.getElementById('second');
function deleteitem() {
for(var i = one.selectedIndex; i >= 0; i--){
two.remove(i);
for(var x = one.length;x>=one.selectedIndex+5;x--) {
two.remove(x);
}
}
}
</script>
</body>
</html>
当用户更改第一个下拉列表时,它将删除第二个下拉列表中的一些项目。
我的问题是:当我选择第一个下拉列表而不刷新页面时,如何重新加载第二个下拉列表?
已经在这里回答了
function bindDdl() {
try {
var ddl = document.getElementById('ddl1');
var x = PageMethods.GetData('', onsuccess, onfail);
}
catch (e) {
alert(e);
}
}
function onsuccess(result) {
try {
var ddl = document.getElementById('ddl1');
var count= ddl.options.length;
while (ddl.options.length > 0) {
ddl.options.remove(0);
}
for (var i = 0; i < result.length-1; i=i+2) {
var opt = document.createElement("option");
// Assign text and value to Option object
opt.text = result[i];
opt.value = result[i+1];
ddl.options.add(opt);
}
}
catch (e) {
alert(e);
}
}
你可以像这样有 onchange 事件
看看这里 http://api.jquery.com/change/
所以你可以重新加载它但是
注意:- 如果您在客户端绑定服务器端控件,它总是会给您一个错误
相反,最好将它们绑定在服务器端并在客户端添加值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)