简体   繁体   English

多次下拉 <select>菜单一次只能选择一个

[英]multiple drop down <select> menus with only one selectable at a time

I have 4 <select> drop down menus with corresponding values that interact with the iframe on my website. 我有4个<select>下拉菜单,其中包含与我网站上的iframe交互的相应值。 The issue is that I want to only allow one drop down to be selectable at a time and for the other drop down menus to return to the original value when the website first opened. 问题是我希望一次只允许一个下拉菜单,并且其他下拉菜单在网站首次打开时返回原始值。 After researching for solutions I was not able to find any online. 在研究解决方案后,我无法在网上找到任何解决方案。 Below I will include the code for the drop down menus. 下面我将包含下拉菜单的代码。

 <script>
    var gST = ""

    function set_st(t) {
       var sel_el = t.options[t.selectedIndex]
       gST = sel_el.value
        document.getElementById('my-iframe').src = 'http://watermonitor.gov/naww/index.php?st=' + gST
    }

    function down_ch() {
        var link = "http://waterwatch.usgs.gov/download/?gt=map&st="+gST+"&ofmt=kmr&x=0";   
        window.open(link)
    }

    function setURL(url){
    document.getElementById('my-iframe').src = url;
    }

  </script>

<header>
    <div id='map_container' style="margin-top: 100px; border: 0px solid red; text-align: center;">
      <div id="xbuilder">
        <table>
          <tbody>
            <tr>
              <td>
                <div>
                  United States: 
                  <span data-tooltip='Choose a US state'>
                    <select name='usst' id='usst' size='1' onchange='javascript:set_st(this);' >
                      <option value=''>States</option>
                      <option value='al'>Alabama</option>
                      <option value='ak'>Alaska</option>
                      <option value='az'>Arizona</option>
                      <option value='ar'>Arkansas</option>
                      <option value='ca'>California</option>
                      <option value='co'>Colorado</option>
                      <option value='ct'>Connecticut</option>
                      <option value='de'>Delaware</option>
                      <option value='dc'>District of Columbia</option>
                      <option value='fl'>Florida</option>
                      <option value='ga'>Georgia</option>
                      <option value='hi'>Hawaii</option>
                      <option value='id'>Idaho</option>
                      <option value='il'>Illinois</option>
                      <option value='in'>Indiana</option>
                      <option value='ia'>Iowa</option>
                      <option value='ks'>Kansas</option>
                      <option value='ky'>Kentucky</option>
                      <option value='la'>Louisiana</option>
                      <option value='me'>Maine</option>
                      <option value='md'>Maryland</option>
                      <option value='ma'>Massachusetts</option>
                      <option value='mi'>Michigan</option>
                      <option value='mn'>Minnesota</option>
                      <option value='ms'>Mississippi</option>
                      <option value='mo'>Missouri</option>
                      <option value='mt'>Montana</option>
                      <option value='ne'>Nebraska</option>
                      <option value='nv'>Nevada</option>
                      <option value='nh'>New Hampshire</option>
                      <option value='nj'>New Jersey</option>
                      <option value='nm'>New Mexico</option>
                      <option value='ny'>New York</option>
                      <option value='nc'>North Carolina</option>
                      <option value='nd'>North Dakota</option>
                      <option value='oh'>Ohio</option>
                      <option value='ok'>Oklahoma</option>
                      <option value='or'>Oregon</option>
                      <option value='pa'>Pennsylvania</option>
                      <option value='ri'>Rhode Island</option>
                      <option value='sc'>South Carolina</option>
                      <option value='sd'>South Dakota</option>
                      <option value='tn'>Tennessee</option>
                      <option value='tx'>Texas</option>
                      <option value='ut'>Utah</option>
                      <option value='vt'>Vermont</option>
                      <option value='va'>Virginia</option>
                      <option value='wa'>Washington</option>
                      <option value='wv'>West Virginia</option>
                      <option value='wi'>Wisconsin</option>
                      <option value='wy'>Wyoming</option>
                      <option value='pr'>Puerto Rico</option>
                    </select>
                  </span>
                  <span data-tooltip='Choose a US water resource region'>
                    <select name='ushuc' id='ushuc' size='1' onchange='javascript:set_st(this);' >
                      <option value=''>Water Res. Region</option>
                      <option value='01'>01 New England</option>
                      <option value='02'>02 Mid Atlantic</option>
                      <option value='03'>03 South Atlantic-Gulf</option>
                      <option value='04'>04 Great Lakes</option>
                      <option value='05'>05 Ohio</option>
                      <option value='06'>06 Tennessee</option>
                      <option value='07'>07 Upper Mississippi</option>
                      <option value='08'>08 Lower Mississippi</option>
                      <option value='09'>09 Souris-Red-Rainy</option>
                      <option value='10'>10 Missouri</option>
                      <option value='11'>11 Arkansas-White-Red</option>
                      <option value='12'>12 Texas-Gulf</option>
                      <option value='13'>13 Rio Grande</option>
                      <option value='14'>14 Upper Colorado</option>
                      <option value='15'>15 Lower Colorado</option>
                      <option value='16'>16 Great Basin</option>
                      <option value='17'>17 Pacific Northwest</option>
                      <option value='18'>18 California</option>
                      <option value='19'>19 Alaska</option>
                      <option value='20'>20 Hawaii</option>
                      <option value='21'>21 Puerto Rico</option>
                    </select>
                  </span>
                </div>
                    <button class="button" onClick="javascript:down_ch();"><span class="icon">Download Data</span></button>
              </td>
            </tr>
            <tr>
              <td>
                <div>
                  Canada:
                  <span data-tooltip='Choose a Canadian province'>
                    <select name='nus' id='nus' size='1' onchange='javascript:set_st(this);' >
                      <option value=''>Provinces</option>
                      <option value='zab'>Alberta</option>
                      <option value='zbc'>British Columbia</option>
                      <option value='zmb'>Manitoba</option>
                      <option value='znb'>New Brunswick</option>
                      <option value='znl'>Newfoundland and Labrador</option>
                      <option value='zns'>Nova Scotia</option>
                      <option value='znt'>Northwest Territories</option>
                      <option value='znu'>Nunavut</option>
                      <option value='zon'>Ontario</option>
                      <option value='zpe'>Prince Edward Island</option>
                      <option value='zqc'>Quebec</option>
                      <option value='zsk'>Saskatchewan</option>
                      <option value='zyt'>Yukon</option>
                    </select>
                  </span>
                  <span data-tooltip='Choose a Canadian river basin'>
                    <select name='nhuc' id='nhuc' size='1' onchange='set_st(this);' >
                      <option value=''>Canadian River Basins</option>
                      <option value='z01'>01 Maritime Provinces Drainage</option>
                      <option value='z02'>02 St.Lawrence River Drainage</option>
                      <option value='z03'>03 Northern Quebec Drainage</option>
                      <option value='z04'>04 Southwest Hudson Bay Drainage</option>
                      <option value='z05'>05 Nelson River Drainage</option>
                      <option value='z06'>06 Western Hudson Bay Drainage</option>
                      <option value='z07'>07 Great Slave Lake Drainage</option>
                      <option value='z08'>08 Pacific Drainage</option>
                      <option value='z09'>09 Yukon River Drainage</option>
                      <option value='z10'>10 Arctic Drainage</option>
                      <option value='z11'>11 Mississippi River Drainage</option>
                    </select>
                  </span>
                </div>
                <div style='margin-left: 10px; float: right;' data-tooltip="Click to view a map of specified region."><input  value="Reset Map" type="button" onclick="setURL('http://watermonitor.gov/naww/index.php')"/></div>
              </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
  </header>

You can probably achieve this with events. 您可以通过事件实现这一目标。 Eg when the first drop down list is opened, then set all of the others to disabled: http://html.com/attributes/select-disabled/ 例如,当打开第一个下拉列表时,将所有其他列表设置为禁用: http//html.com/attributes/select-disabled/

You could do that with jquery like this: 你可以用这样的jquery做到这一点:

$(ele).attr(disabled, disabled);

For the events, check out this: http://api.jquery.com/category/events/ 有关活动,请查看: http//api.jquery.com/category/events/

look up the change event, once the event fires you'll need to set the other drop down lists to the original value eg: 查找更改事件,一旦事件触发,您需要将其他下拉列表设置为原始值,例如:

$(ele).val('0');

You may want to update your question with what should happen when the page loads, and then what should happen when you open drop down lists on the page. 您可能希望更新您的问题,看看页面加载时会发生什么,然后在页面上打开下拉列表时会发生什么。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM