ユーザ用ツール

サイト用ツール


サイドバー

プログラム言語:javascript_jquery:bootstrap:セレクトボックス

文書の過去の版を表示しています。


【Bootstrap】セレクトボックスの操作

セレクトボックスの値やオプションなどを変更後、Bootstrapで作られたdivタグにも反映するには selectpicker('refresh') を使う。

オプションを差し替える例

<select name="type">
    <option value="1">1</option>
    <option value="10">10</option>
    <option value="20">20</option>
</select>
<select name="number">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    ...省略...
    <option value="30">30</option>
</select>

<script>
$(function() {
  // typeが変更された際に、numberオプションを差し替える
  $('[name="type"]').on('change', function(){
    // keyがtype、valueがnumberの最小値
    var number_min = {1:1, 10:10, 20:20};
    var type = $('[name="type"] option:selected').val();
    var number = $('[name="number"] option:selected').val();

    if (number_min[type] == null) {
      return;
    }

    // numberのオプションを削除
    $('[name="number"] > option').remove();

    // セレクトボックスにオプションを追加
    for(let i=number_min[type]; i<=30; i++) {
      $('[name="number"]').append($('<option>').html(i).val(i));
    }

    // 元々選択済みだったオプションを選択し直す
    $('[name="number"] option[value="' + number + '"]').prop('selected',true);

    // Bootstrapの要素(divタグ)にも反映
    $('[name="number"]').selectpicker('refresh');
  });
});
</script>

コメント

コメントを入力. Wiki文法が有効です:
 
プログラム言語/javascript_jquery/bootstrap/セレクトボックス.1553049742.txt.gz · 最終更新: 2019/03/20 11:42 by yusuke_komori