级联组合框HTML

时间:2011-08-16 22:03:30

标签: javascript html drop-down-menu

我不是一个真正的网络用户,也无法创建级联组合框。我有我的选择,但当我无法弄清楚如何根据第一个框的选择来切换第二个框的JavaScript命令。

这是我的第一组选择:

<select id="searchType" onchange="selectedOption(this)">
  <option value="sessions">Sessions</option>
  <option value="files">Files</option>
  <option value="clients">Clients</option>
</select>

根据他们点击的内容,我想展示以下这些选项:

会话

<select id="secondOptions">
   <option value="conf">Config ID</option>
   <option value="length">Length</option>
   <option value="date">Date</option>
</select>

文件

<select id="secondOptions">
       <option value="id">File ID</option>
       <option value="length">Length</option>
       <option value="sent">Sent</option>
       <option value="sessionId">Session ID</option>
</select>

客户

<select id="secondOptions">
       <option value="name">Client Name</option>
       <option value="organization">Organization</option>
       <option value="specialty">Specialty</option>
       <option value="sessionId">Session ID</option>
</select>

最后输入一个文本框来真正指定搜索。 再一次,我正在尝试使用JavaScript,但如果有更好的方法,请告诉我。

1 个答案:

答案 0 :(得分:3)

鉴于修改后的html标记:

<form action="#" method="post">
    <select id="searchType">
        <option value="sessions">Sessions</option>
        <option value="files">Files</option>
        <option value="clients">Clients</option>
    </select>

    <select id="sessions">
        <option value="conf">Config ID</option>
        <option value="length">Length</option>
        <option value="date">Date</option>
    </select>

    <select id="files">
        <option value="id">File ID</option>
        <option value="length">Length</option>
        <option value="sent">Sent</option>
        <option value="sessionId">Session ID</option>
    </select>

    <select id="clients">
        <option value="name">Client Name</option>
        <option value="organization">Organization</option>
        <option value="specialty">Specialty</option>
        <option value="sessionId">Session ID</option>
    </select>

    <fieldset id="textAreaSearchBox">
        <legend>Search:</legend>
        <textarea></textarea>
    </fieldset>
</form>

(注意更改的id,将表单元素包装在form中,在标记中添加字段集,图例和textarea),以下JavaScript似乎有效:< / p>

var select1 = document.getElementById('searchType');
var selects = document.getElementsByTagName('select');

select1.onchange = function() {
    var select2 = this.value.toLowerCase();
    for (i = 0; i < selects.length; i++) {
        if (selects[i].id != this.id) {
            selects[i].style.display = 'none';
        }
    }
    document.getElementById(select2).style.display = 'block';
    document.getElementById('textAreaSearchBox').style.display = 'block';
};

JS Fiddle demo