如何在选择另一个列表框值时清除列表框值

时间:2013-12-16 05:41:03

标签: javascript

我创建了一个依赖于单选按钮单击列表框现在将显示如果用户单击一个单选按钮列表框将显示并再次用户选择其他选项但它不清楚列表框的先前值如何通过javascript清除它??? ?

<script language="JavaScript"  type="text/javascript">
        function fun(s)
        {

             if(s==B)
            {
                  document.getElementById("maingroup").style.display='none';
                  document.getElementById("subgroup").style.display='';
                  document.getElementById("itemname").style.display='none';

              }

             if(s==C)
            {
                 document.getElementById("maingroup").style.display='none';
                 document.getElementById("subgroup").style.display='none';
                 document.getElementById("itemname").style.display='';


              }


        </script>

Here is the example which i have tried JS FIDDLE

3 个答案:

答案 0 :(得分:1)

这是我的想法(未经测试)。为每个列表框指定一个类名class='lst'。之后,当您单击单选按钮时,只需使用:

  `document.getElementsByClassName('lst').style.display = 'none';`

并显示当前列表框。

`document.getElementsByClassName('currentListboxID').style.display = 'block';`

这是DEMO

答案 1 :(得分:1)

试试这个:

var listBox = document.getElementById("listboxID");
listBox.innerHTML = "";

答案 2 :(得分:1)

我认为show / hide方法不适合编程。

我不知道它是否有用,但这对你有帮助。

你可以像

一样动态
var mainGroup = ["aa","bb","cc"];
var subGourp = ["dd","ee","ff"];
var itemName = ["gg","ee","ff"];

var Country = ["jj","hh","ii"];
var Zone = ["kk","ll","mm"];

if(s == A)
{
    var i=0;
    var str = "";
    for(i=0;i<mainGroup.length;i++)
    {
        str += "<option value='" + (i+1) + "'>" + mainGroup[i] + "</option>";

    }
    document.getElementById("maingroup").style.display='';
    document.getElementById("maingroup").innerHTML = str;
}
else if(s == B)
{
    var i=0;
    var str = "";
    for(i=0;i<subGourp.length;i++)
    {
         str += "<option value='" + (i+1) + "'>" + subGourp[i] + "</option>";

    }
    document.getElementById("maingroup").style.display='';
    document.getElementById("maingroup").innerHTML = str;
}