2014-02-14 80 views
0

嗨,大家好,我在一個項目中工作,並希望得到一些建議,我有一個問題,我找不到任何明確的答案。我如何做廣告onselect到選擇標籤來更改第二個選擇標籤的值

我對創建一個註冊頁面,在這裏我想有<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> 

,並選擇一個品牌我後想有一個<select>與模型,但舉例來說,如果用戶選擇「摩托羅拉」我想只顯示了最常見的摩托羅拉機型等

問候

+3

您需要的功能稱爲級聯下拉框。去谷歌上查詢! – DhruvJoshi

回答

0

就像它已被建議,我會使用級聯下拉。下面是一個級聯下拉的例子:

演示: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) 
}); 

從這裏,你可以把它一步遠躲在其他任何你喜歡的機型下拉,直到設備選擇,或。