我有一个在Laravel中完成的计划应用程序,该程序可以使您选择想要保留项目的时间。如果单击9:00,则会以30分钟为增量从9:30开始下拉列表。我正在使用Bootstraps下拉菜单。

<div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Reserve
        until
        <span class="caret"></span></button>
    <ul class="dropdown-menu">
    </ul>
</div>


下拉菜单可以正常工作,但是我想以某种方式获得选择的值

<script>
    $('#confirm-reservation').on('show.bs.modal', function (e) {
        $(this).find('.dropdown-menu li').remove();
        $(this).find('.btn-ok').attr('href', $(e.relatedTarget).data('href'));

        var startTime = moment($(e.relatedTarget).data('start-time')).utc();
        var endTime = moment($(e.relatedTarget).data('end-time')).utc();

        while (startTime < endTime) {
            $(this).find('.dropdown-menu').append('<li><a href="#">' + startTime.format("HH:mm") + '</a></li>');
            startTime.add(30, 'minutes');
        }
    });
</script>

最佳答案

在下拉列表中添加事件处理程序,如下所示,

$(document).on('click','#confirm-reservation .dropdown-menu a', function(){
    console.log("Selected "+ $(this).text());
});


我将事件委托给document,因为在初始化事件处理程序时,列表项将不存在。

希望这可以帮助。

10-05 20:29