2015-12-02 59 views
0

1)我用可選行的數據表(點擊選中/選擇列)。數據表,可選擇行和我的當前項目下拉

2)每行包含最後一列內的引導下拉列表。

問題:

當我點擊該行,該行被選中,多數民衆贊成罰款。但是,如果我單擊下拉列表,該行也會被選中。我不想那樣。我怎麼能做到這一點?!當我點擊最後一欄中的下拉列表時,是否有任何方法可以防止選中該行?

我的下拉代碼:

<div class="btn-group"> 
    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">Aktion <span class="caret"></span></button> 
    <ul class="dropdown-menu" role="menu"> 
     <li><a href="#">OptionA</a></li> 
     <li><a href="#">OptionB</a></li> 
     <li><a href="#">OptionC</a></li> 
    </ul> 
</div> 

我的數據表代碼:

$('#invoiceList').dataTable({ 
    "displayLength": -1, 
    "paginate": true, 
    "order": [[3, "desc"]], 
    "lengthMenu": [[5, 10, 25, 50, 100, -1], [5, 10, 25, 50, 100, "Alle"]], 
    "ajax": "get_invoices.php", 
    "deferRender": true 
}); 

$('#invoiceList tbody').on('click', 'tr', function() { 
    $(this).toggleClass('active'); 
}) 
    }); 

回答

0

我找到了解決方案。通過使用事件委託,我得到了ajax加載的下拉菜單的點擊事件通知。那麼我可以從表中的所有行中刪除活動類。

$(document).on("click", '.dropdown-toggle', function(event) { 
      console.log('clicked dropdown'); 
      $('#invoiceList tbody tr').removeClass('active'); 
     }); 
0

我沒有測試它,但你可以嘗試,是這樣的:

$('.dropdown-menu').click(function(e)) { 
    e.preventDefault(); //or e.stopPropagation(); which should work better 
}); 
+0

感謝,已經想到這樣的事情,但兩者(preventDefault&stopPropagation)不會停止被選中的行:/ – datayeah

相關問題