2016-12-27 13 views
1

デフォルト値content1は表示されませんが、表示されません "テキスト・デフォルト・ショー"オプションを選択し、デフォルト

私を助けてください..

jQuery(document).ready(function($) { 
 
    jQuery('#select123').change(function() { 
 
    jQuery('.content123').hide(); 
 
    jQuery('#' + jQuery(this).val()).show(); 
 
    }); 
 
});
div.content123 { 
 
    display: none 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="select123"> 
 
    <option value="content1">content1</option> 
 

 
    <option value="content2">content2</option> 
 

 
    <option value="content3">content3</option> 
 
    <option value="content4">content4</option> 
 
</select> 
 
<div id="content1" class="content123"> 
 
    text defult show 
 
</div> 
 

 
<div id="content2" class="content123"> 
 
    contentttttttt 
 
</div> 
 
<div id="content3" class="content123"> 
 
    content3 
 
</div> 
 
<div id="content4" class="content123"> 
 
    content4 
 
</div>

+1

こんにちは、歓迎の対応を示すために必要があります。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。 –

+0

マークアップを修正します。 – Banzay

+0

.content123ディスプレイを設定しているため表示されません。スタイル でもjQueryでも非表示にする –

答えて

1

デフォルトのdoesn CSSがすべてのDIVを隠すために表示されません。ページがロードされたときにselectにクリックイベントを発生させると、デフォルトが表示されます。

jQuery(document).ready(function($) { 
 
    jQuery('#select123').change(function() { 
 
    jQuery('.content123').hide(); 
 
    jQuery('#' + jQuery(this).val()).show(); 
 
    }).trigger("change"); 
 
});
div.content123 { 
 
    display: none 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="select123"> 
 
    <option value="content1">content1</option> 
 

 
    <option value="content2">content2</option> 
 

 
    <option value="content3">content3</option> 
 
    <option value="content4">content4</option> 
 
</select> 
 
<div id="content1" class="content123"> 
 
    text defult show 
 
</div> 
 

 
<div id="content2" class="content123"> 
 
    contentttttttt 
 
</div> 
 
<div id="content3" class="content123"> 
 
    content3 
 
</div> 
 
<div id="content4" class="content123"> 
 
    content4 
 
</div>

+0

最小限に抑えて効果的にするには、** 'の代わりに**(**)' ** ** ' **オプション要素のテキストはそれぞれの値と一致するためです。 *詳細については、[here](https://developer.mozilla.org/en/docs/Web/HTML/Element/option)を読んでください(この属性が省略されている場合、その値はオプションのテキスト内容から取られます)要素)。* – nyedidikeke

+0

@nyedidikeke 'value'をデフォルトにするのは貧弱なスタイルだと思います。また、これは同じであるというおもちゃの例だったからかもしれません。実際のアプリケーションではおそらく同じではありません。 – Barmar

+0

私はむしろ私が知らない、または無視するものを除いて、*貧乏人のスタイル*ではなく、ニーズに基づいて*と言っています!おそらく私を啓発するようにもっと精巧に考えていらっしゃいますか? – nyedidikeke

0

あなたはselectのデフォルトをしたいオプションに属性selected="selected"を追加する必要があります。 は、次にスクリプト内で、あなたはStackOverflowのにdiv

$(document).ready(function() { 
 
    $('#' + $("#select123").val()).show(); 
 
    
 
    $('#select123').change(function(){ 
 
    \t \t $('.content123').hide(); 
 
    \t \t $('#' + $(this).val()).show(); 
 
    \t }); 
 
    });
div.content123 { 
 
    display: none 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="select123"> 
 
    \t <option value="content1" selected="selected">content1</option> 
 

 
    \t <option value="content2">content2</option> 
 
    \t 
 
    <option value="content3">content3</option> 
 
    \t <option value="content4">content4</option> 
 
    </select> 
 
    <div id="content1" class="content123"> 
 
    \t text defult show 
 
    </div> 
 

 
    <div id="content2" class="content123"> 
 
    \t contentttttttt 
 
    </div> 
 
    <div id="content3" class="content123"> 
 
    \t content3 
 
    </div> 
 
    <div id="content4" class="content123"> 
 
    \t content4 
 
    </div>

関連する問題