1

私のページには2つの選択ピッカーがあります。ユーザーが最初のselectpickerで何かを選択したときに、2番目のselectpickerを開く(スライドダウンする)ことができるようにしたい。これは、ユーザーがクリックしすぎないようにするために行われます。

HTML の例:

<div class="row">
    <select class="select-picker" id="picker1" data-size="10">
        <option>Opt 1</option>
        <option>Opt 2</option>
        <option>Opt 3</option>
        <option>Opt 4</option>
    </select>

    <select class="select-picker" id="picker2" data-size="10">
        <option>Opt 2.1</option>
        <option>Opt 2.2</option>
        <option>Opt 2.3</option>
        <option>Opt 2.4</option>
    </select>
</div>

JS の例:

$(document).ready(function() {
    $('.select-picker').selectpicker();

    $('.select-picker').change(function(){
        // Trying to open 2nd selectpicker
        $selectpickerButton = $('button[data-id="picker2"]');
        $selectpicker = $selectpickerButton.parent();

       //$selectpicker.addClass('open');
        $selectpickerButton.click();
    });
});

そして、ここにJSBinがあります:http://jsbin.com/UFoRIYex/514/edit

フィドル: http://jsfiddle.net/u6vWL/46/

4

1 に答える 1

2

以下はうまくいきました。少し汚れていますが、ねえ!!

更新された回答

以前と同じ答えを使用しましたが、タイムアウトを設定し、タイムアウト後に関数を呼び出します。

    $('.select-picker').selectpicker();
var selectpickerButton = $('button[data-id="picker2"]');


$(document).on("change", "#picker1", function () {
    setTimeout(function () {
        // Do something after xx milli seconds
        youSelected();
    }, 100);
});

function youSelected() {
    $(selectpickerButton).trigger('click');

}

jSFiddle

于 2014-08-28T00:17:06.467 に答える