我使用此代码
获得了解决方案var module_list = document.getElementById("taModule");
$("#taModule").empty(); //this is the solution code
for(i=0;i<pid.length;i++){
if (pid[i] == projid){
var option = document.createElement("option");
option.text = mname[i];
option.value = mid[i];
module_list.appendChild(option);
}
}
嗨,我必须下拉列表框。一个有像项目一样的值列表。第二个是模块下拉列表,所以当客户选择特定项目时。列出与项目相关的模块。 的javascript:
function populate(val) {
var projid = val;
var pid = new Array();
var mid = new Array();
var mname = new Array();
pid = <?php echo json_encode($pid); ?>;
mid = <?php echo json_encode($mid); ?>;
mname = <?php echo json_encode($mname); ?>;
var module_list = document.getElementById("taModule");
$('#taModule').val('');
for(i=0;i<pid.length;i++){
if (pid[i] == projid){
var option = document.createElement("option");
option.text = mname[i];
option.value = mid[i];
module_list.appendChild(option);
}
}
}
html代码:
<tr>
<td><label for="taProj"><?php echo t('Project')?>:</label></td>
<td><select name="taProj" id="taProj" onchange= "populate(this.value)">
<option value="" >-------------------------</option>
<?php foreach ($tap as $row){?>
<option value="<?php echo $row['proj_id']; ?>" ><?php echo $row['proj_name'];?></option> <?php } ?>
</select></td>
</tr>
<tr>
<td><label for="taModule"><?php echo t('Module Name')?>:</label></td>
<td><select name="taModule" id="taModule" >
<option value="" >-------------------------</option>
</select></td>
</tr>
如果我选择项目,它会显示相关模块,但如果再次选择其他项目,则相关模块会添加现有模块列表。所以我想避免这个。我尝试了一些脚本删除,null和空不是workig。,请任何人建议我并指出我如何实现这个任务谢谢
库马尔
答案 0 :(得分:3)
我找到了解决方案。只需在for循环
之前在js函数中添加代码$("#taModule").empty();
感谢stackoverflow。
答案 1 :(得分:2)
如果您不使用jQuery:
var select = document.getElementById('/*id attribute of your select here*/');
for (var option in select){
select.remove(option);
}