【问题标题】:i have to clear existing value in the select option value我必须清除选择选项值中的现有值
【发布时间】:2013-10-24 05:28:04
【问题描述】:

我通过使用此代码得到了解决方案

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 和 empty 不可行。请任何人建议我并指出我如何完成这项任务,谢谢

库马尔

【问题讨论】:

  • 感谢有人试图解决这个问题。我通过 jquery 得到了解决方案。这将清除所有现有的选项值 '$("#droplist").empty();'我得到了以下解决方案link

标签: html select appendchild removechild


【解决方案1】:

我找到了解决方案。只需在 js 函数中添加代码,在 for 循环之前

$("#taModule").empty();

感谢stackoverflow。

【讨论】:

    【解决方案2】:

    如果你不使用 jQuery:

    var select = document.getElementById('/*id attribute of your select here*/');
    for (var option in select){
        select.remove(option);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      相关资源
      最近更新 更多