Javascript 如何在运行时将选择列表设置为空?
我有一个从DB获取列表的代码使用返回的数组,我动态创建一个网格表和两个组合框。现在,代码第一次运行良好。我还可以向数据库添加新条目,并在网格中显示它。现在问题是组合框 每当我添加一个新条目时,通过删除表中以前的内容并从数据库中再次获取新条目,表就会更新但是组合选项会附加新到达的数据。看,图像化学工程是新增加的 但我不知道重置或删除现有的组合框内容。我知道解决方案是一段使组合框为空的代码它必须放在组合框生成代码的顶部。这样,它在每次生成新元素之前都会重置。 我的问题是如何在起始点使组合框为null(我不知道确切的术语是“null”还是“reset”,我不熟悉DOM元素) 这是我的密码 HTML元素:Javascript 如何在运行时将选择列表设置为空?,javascript,html,Javascript,Html,我有一个从DB获取列表的代码使用返回的数组,我动态创建一个网格表和两个组合框。现在,代码第一次运行良好。我还可以向数据库添加新条目,并在网格中显示它。现在问题是组合框 每当我添加一个新条目时,通过删除表中以前的内容并从数据库中再次获取新条目,表就会更新但是组合选项会附加新到达的数据。看,图像化学工程是新增加的 但我不知道重置或删除现有的组合框内容。我知道解决方案是一段使组合框为空的代码它必须放在组合框生成代码的顶部。这样,它在每次生成新元素之前都会重置。 我的问题是如何在起始点使组合框为null
<select id="departmentField" >//Both using same data source.
<select id="searchDepartments">
//两者使用相同的数据源。
脚本:
它的DWR呼叫…我认为问题出在网格之下
EmployeeManagement.getDeptList(function(deptRecords) {
$("#depts").clearGridData(true);
$("#depts").jqGrid('addRowData', "deptID", deptRecords);
var deptSearchSelect = document.getElementById('searchDepartments');
var searchOptions = null;
searchOptions = document.createElement('option');
searchOptions.value = 0;
searchOptions.innerHTML = "ALL";
deptSearchSelect.appendChild(searchOptions);
var depFieldSelect = document.getElementById('departmentField');
var deptFieldOpts = null;
deptFieldOpts = document.createElement('option');
deptFieldOpts.value = 0;
deptFieldOpts.innerHTML = "";
depFieldSelect.appendChild(deptFieldOpts);
for(i = 0; i<deptRecords.length; i++) {
var dept = deptRecords[i];
searchOptions = document.createElement('option');
searchOptions.value = dept.deptID;
searchOptions.innerHTML = dept.deptName;
deptSearchSelect.appendChild(searchOptions);
deptFieldOpts = document.createElement('option');
deptFieldOpts.value = dept.deptID;
deptFieldOpts.innerHTML = dept.deptName;
depFieldSelect.appendChild(deptFieldOpts);
}
deptSearchSelect.selectedIndex = "ALL";
deptSearchSelect.selectedIndex = "";
//var respDiv = document.getElementById("respCheck");
});
EmployeeManagement.getDeptList(函数(deptRecords)){
$(“#部门”)。clearGridData(真);
$(“#depts”).jqGrid('addRowData','deptID',deptRecords);
var deptSearchSelect=document.getElementById('searchDepartments');
var searchOptions=null;
searchOptions=document.createElement('option');
searchOptions.value=0;
searchOptions.innerHTML=“全部”;
deptSearchSelect.appendChild(搜索选项);
var depFieldSelect=document.getElementById('departmentField');
var deptfielddopts=null;
deptFieldOpts=document.createElement('option');
deptfielddopts.value=0;
deptfielddopts.innerHTML=“”;
depFieldSelect.appendChild(deptfielddopts);
对于(i=0;i尝试删除选择中的每个元素:
while(deptSearchSelect.hasChildNodes()) {
deptSearchSelect.removeChild(deptSearchSelect.firstChild);
}
while(depFieldSelect.hasChildNodes()) {
depFieldSelect.removeChild(depFieldSelect.firstChild);
}
您是否也无法正确设置选择框