2017-05-15 5 views
-1

2番目の選択でデフォルトの選択 "学校を選択"に問題があります。この選択肢を表示するにはJavaScriptで何を追加しますか?JavaScriptで選択されたオプションを表示

たとえば、ページを読み込んだ直後に表示されます。最初のドロップダウンのデフォルト選択項目には、「場所の選択」が表示されています。しかし、私の2番目の選択では、学校を選択して表示されていない、なぜですか? JavaScriptに何か問題がありますか?ここでは何が分かりませんか? 新しい学習は大変ありがたいです。

$(document).ready(function(){ 
 
    var $cat = $('select[name=category]'), 
 
    $items = $('select[name=items]'); 
 

 
    $cat.change(function(){ 
 
     var $this = $(this).find(':selected'), 
 
     rel = $this.attr('rel'), 
 
     $set = $items.find('option.' + rel); 
 

 
     if ($set.size() < 0) { 
 
     $items.hide(); 
 
     return; 
 
     } 
 
     $items.show().find('option').hide(); 
 

 
     $set.show().first().prop('selected', true); 
 
    }); 
 
    }); 
 
.cascade { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select name="category"> 
 
    <option value="0">Choose location</option> 
 
    <option value="1" rel="1">Bacolod</option> 
 
    <option value="2" rel="2">Bohol</option> 
 
    <option value="3" rel="3">Cebu</option> 
 
    <option value="4" rel="4">Manila</option> 
 
    
 
</select> 
 
    <br> 
 
    <select name="items" class="cascade"> 
 
    <option>Choose school</option> 
 
    <option value="1" class="1">Bacolod Tay Tung High School</option> 
 
    <option value="2" class="3">University of Southern Philippines Foundation</option> 
 
    <option value="3" class="2">Dr. Cecilio Putong National High School</option> 
 
    <option value="4" class="1">Jack and Jill School</option> 
 
    <option value="5" class="4">British School Manila</option> 
 
    <option value="6" class="2">Holy Spirit School of Tagbilaran</option> 
 
    <option value="7" class="4">Chinese International School Manila</option> 
 
    <option value="8" class="2">Ubay National Science High School</option> 
 
    <option value="9" class="3">Abellana National School</option> 
 
</select>

答えて

1

class="0"としてオプション "学校を選びました" とoption.0などの追加パラメータを見つけるの内側にクラスを追加します。

$set = $items.find('option.0, option.' + rel); 
<option class="0">Choose school</option> 
+0

ありがとうございます。今私はなぜそれを表示することができないそれを得る。 – Gatzmar

+0

"item" selectタグに "1、2、3、または4"というクラスを持っているオプションだけが見つかります。 "$ set = $ items.find( 'option。' + rel);" 「学校選択」オプションには「1,2,3または4」のクラスがないため、classNameに「0」を追加し、検索コードを「$ set = $ items.find( 'option.0 、option。 '+ rel); " – Faizal

関連する問題