简体   繁体   English

如何将onselect投放到select标签中以更改第二个select标签的值

[英]How can I ad onselect into select tag to change values of the second select tag

Hi guys I am working within a project and would like to get some advice, I have one problem where I can't find any clear answer. 嗨,大家好,我正在一个项目中工作,想获得一些建议,但是我有一个问题,我找不到明确的答案。

I am about create a registration page where I would like to have <select> instead of <input> on this step users are going to choose device which they use like presented below: 我要创建一个注册页面,在此步骤中,我希望使用<select>而不是<input> ,用户将选择使用的设备,如下所示:

    <tr><th>Device</th> 
  <th><select required="required">
  <option value="Acer">Acer</option>
  <option value="Alcatel">Alcatel</option>
  <option value="Archos">Archos</option>
  <option value="Asus">Asus</option>
  <option value="GoClever">GoClever</option>
  <option value="HP">HP</option>
  <option value="HTC">HTC</option>
  <option value="Huawei">Huawei</option>
  <option value="Lenovo">Lenovo</option>
  <option value="LG">LG</option>
  <option value="Motorola">Motorola</option>
  <option value="MyPhone">MyPhone</option>
  <option value="Prestigio"></option>
  <option value="Samsung"></option>
  <option value="Sony"></option>
  <option value="Toshiba"></option>
  <option value="ZTE"></option>
  <option contenteditable="true" value="Other">Other</option>
  </select></th></tr>

And after choosing a brand I would like to have a <select> with model but for example If user choose "Motorola" I would like to show only the most common motorola models etc. 在选择了一个品牌之后,我希望有一个<select>型号,但是例如,如果用户选择“ Motorola”,我只想展示最常见的Motorola型号等。

Regards 问候

Like it's been suggested, I'd use a cascading dropdown. 就像有人建议的那样,我将使用级联下拉列表。 Here is an example of a cascading dropdown: 这是一个级联下拉列表的示例:

Demo: jsFiddle 演示: jsFiddle

var models = {
    'Acer': ['Acer Model 1', 'Acer Model 2', 'Acer Model 3'],
    'Alcatel': ['Alcatel Model 1', 'Alcatel Model 2', 'Alcatel Model 3'],
    'Archos': ['Archos Model 1', 'Archos Model 2', 'Archos Model 3'],
    'Asus': ['Asus Model 1', 'Asus Model 2', 'Asus Model 3'],
    'GoClever': ['GoClever Model 1', 'GoClever Model 2', 'GoClever Model 3'],
    'HP': ['HP Model 1', 'HP Model 2', 'HP Model 3']
    // and so on...
}

var $models = $('#model');
$('#device').change(function () {
    var devices = $(this).val(), elems = models[devices] || [];

    var html = $.map(elems, function(elems){
        return '<option value="' + elems + '">' + elems + '</option>'
    }).join('');
    $models.html(html)
});

From here, you could take it a step farther by hiding the models dropdown until a device is chosen, or whatever else you like. 从这里开始,您可以通过隐藏模型下拉菜单直到选择了设备或您喜欢的其他任何东西来走得更远。

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

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