2013-03-26 93 views
0

昨天我問我怎麼能生成一個子類第二下拉列表,所以在第一個下拉列表,我會選擇「卡車」和第二個下拉將與顏色「黑」或「白出現「來接,或者如果在第一個下拉我選擇‘汽車’所生成的第二下拉將產生‘紅’,‘綠’或‘藍’的選項,導致這種http://jsfiddle.net/7YeL6/5/,我在我的代碼實現的,就像一個魅力(我已經把更多的結果放在「.js」中,並且工作在100%)。HTML列出第三類

但我現在面臨一個新的問題,因爲我需要生成一個第三類,我不知道的jQuery什麼。

根據以前的代碼,我需要第三個下拉菜單,以第二個下拉菜單爲例,例如: 如果我選擇「卡車」,然後選擇「新建」或「二手」,或者如果我選擇‘汽車’,那麼‘紅’的新下拉菜單會出現選擇‘買入’或‘租’。

HTML代碼

<select name="category" id="category"> 
    <option selected value="Please Select">Please Select</option>   
    <option value="Cars">Cars</option> 
    <option value="Trucks">Trucks</option> 
    <option value="Motorcycles">Motorcycles</option> 
    <option value="Boats">Boats</option> 
</select> 

<div> 
<select name="category2" id="truck" class="second"> 
     <option value="white">white</option> 
     <option value="black">black</option>    
</select> 

<select name="category2" id="car" class="second"> 
     <option value="red">red</option> 
     <option value="green">green</option> 
     <option value="blue">blue</option>   
</select> 
</div> 

CSS代碼

#category2{ 
    display: none; 
} 
.second{ 
    display: none; 

} 

JS代碼

$(document).ready(function(){ 
$("#category").change(function() { 
    var str = ""; 
str = $("select#category option:selected").text(); 
    if(str == "Trucks"){ 
     $("select.second").not("#truck").hide(); 
     $("#truck").show(); 
     $("#truck").fadeIn(1000); 
    } 
    else if(str == "Cars"){ 
     $("select.second").not("#car").hide(); 
     $("#car").show(); 
     $("#car").fadeIn(1000); 
    } 

}) 
}); 

感謝

+0

CSS選擇,例如 「#類別2」 被施加到元素ID,不能形成元素名稱。 –

+0

IM新的這個和我說,我不明白很多的jQuery的,但我可以告訴這個代碼是在後端IM工作= /工作的罰款。我應該改變什麼嗎? –

回答

1

它看起來像你想這不是

演示http://jsfiddle.net/7YeL6/7/

HTML代碼

<select id="category" class="first"> 
    <option selected value="Please Select">Please Select</option>   
    <option value="car">Cars</option> 
    <option value="truck">Trucks</option> 
    <option value="motor">Motorcycles</option> 
    <option value="boat">Boats</option> 
</select> 

<select id="truck" class="second"> 
     <option selected value="Please Select">Please Select</option>  
     <option value="white">white</option> 
     <option value="black">black</option>    
</select> 
<select id="car" class="second"> 
     <option selected value="Please Select">Please Select</option>  
     <option value="red">red</option> 
     <option value="green">green</option> 
     <option value="blue">blue</option>   
</select> 

<select id="truck-white" class="third"> 
     <option value="size1">truck-white1</option> 
     <option value="size2">truck-white2</option>    
</select> 
<select id="truck-black" class="third"> 
     <option value="size1">truck-black1</option> 
     <option value="size2">truck-black2</option>    
</select> 
<select id="car-red" class="third"> 
     <option value="1">car-red1</option> 
     <option value="2">car-red2</option> 
     <option value="3">car-red3</option>   
</select> 
<select id="car-green" class="third"> 
     <option value="1">car-green1</option> 
     <option value="2">car-green2</option> 
     <option value="3">car-green3</option>   
</select> 

CSS代碼

.second{ 
    display: none; 
} 
.third{ 
    display: none; 
} 

jQuery代碼

$(".first").change(function() { 
    var str = ""; 
    str = $(this).val(); 
    $('.second').hide(); 
    $('.third').hide(); 
    $('#'+str).show(); 
}); 
$(".second").change(function() { 
    var str = ""; 
    str = $(this).val(); 
    var id = $(this).attr('id'); 
    $('.third').hide(); 
    $('#' + id + "-" + str).show(); 
}) 
+0

哇。謝謝。我會立即嘗試並提供反饋意見。真棒!順便說一下,有可能做到這一點,出現一個標題也是,上面的菜單,在新的div或細胞中​​? –

+0

是的,這是可以做到這一點。但是,你應該自己做,你將成爲一名優秀的jQuery程序員。 –

+0

是的,我希望如此。如果可能的話,我會嘗試相同的方法。再次感謝所有m8。看起來很棒 –