2017-03-15 44 views
0

我有一個在Laravel完成的調度應用程序,它應該使您能夠選擇期間,當你想保留一個項目。如果您點擊9:00,則以30分鐘爲增量從9:30開始下拉列表。我正在使用Bootstraps下拉菜單。jQuery選擇模式

<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> 

回答

1

下拉列表上添加事件處理類似下面,

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

我已經委派事件document,因爲當事件處理程序被初始化列表項將不存在。

希望這會有所幫助。

0

這個下拉菜單是不是一個標準的表單元素,所以我推測,選擇一個選項,增加了一個class和id到選定的li元素。

比方說,它增加了一個類selected到所選擇的選項,在這種情況下,您要查找的選擇將是這樣的:

$(".dropdown-menu").children(".selected"); 

要了解,當你從下拉選項到底發生了什麼菜單,檢查它並根據需要編輯上面的選擇器。