2016-09-07 5 views
0

をブートストラップからselectpickerプラグイン上のIDを使用して、選択した値を設定しますは、どのように私はこのようなブートストラップのselectpickerプラグインをテストしてい

HTML

<select class="selectpicker form-control" id="preffrom"> 
    <optgroup label="北海道" class="area-hokkaido"> 
    <option id="p01">北海道</option> 
    </optgroup> 
    <optgroup label="東北" class="area-tohoku"> 
    <option id="p02">青森県</option> 
    <option id="p03">岩手県</option> 
    ... 
    <option id="p07">福島県</option> 
    </optgroup> 
    ... 
    <optgroup label="沖縄" class="area-okinawa"> 
    <option id="p47">沖縄県</option> 
    </optgroup> 
</select> 

はJavaScript

$(function(){ 
    $('.selectpicker').selectpicker(); 
    // this event is for test but it does not work... 
    $('#test').bind('click', function(e){ 
    $('#preffrom').val('p03'); 
    $('#preffrom').selectpicker('refresh'); 
    }); 
}); 

私はこれを参照しました: How to set selected value on select using selectpicker plugin from bootstrap

しかし何も起こりません。 id値を使用してoptionを選択する正しい方法を教えてください。

+0

はテストクリックですか?そうでなければコードは正しいようです –

+0

'document.getElementById( 'preffrom')を試してください。value = 'p03';' – Vijai

+0

@Mikelis Baltruksはい。 DevToolのコンソールを使ってテストしました。しかし、 '$( '#preffrom').val( 'p03')'が実行されたとき、 'selectpicker'のIDが削除されたようです。 これ以外にも、次のように変更しました。 $( '。selectpicker')。val( 'p03'); しかし、うまくいかなかった。 Btw、このコードは正しく動作します: $( "。selectpicker")。val( "宮城県"); しかし、私はid値でそれをやりたいです。 – tomorin

答えて

1

#p03オプションを選択すると、$('#p03').prop('selected', true);$('#preffrom').val('p03');の代わりに)が機能するはずです。ここに実例があります:https://jsfiddle.net/kwm9rsee/

+0

私はそれを考えなかった。 それは動作します!それはとても簡単です。その非常に役立つ。 ありがとうございます! – tomorin

関連する問題