我有一个在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
,因为在初始化事件处理程序时,列表项将不存在。希望这可以帮助。