2015-02-09 37 views
0

我有一個select2多標籤控件(限於2,在我的情況下)標籤的位置很重要。select2 select2-removed event find標籤位置

我列出了select2-removed事件,並希望找到要刪除標記的位置。

我可以打開remove事件並檢查e,但是這給了我元素的id,而不是標記字段中的位置。

$('#mytags').on('select2-removed', function(e){ 

    console.log('removed', e) 

}); 

如何確定哪個標記(第一個或第二個)被刪除?

回答

2

select2-removed事件觸發時,該項目已被刪除,因此您無法在此時檢查Select2控件的值。但是,您可以檢查select2-removing事件何時觸發。然後,如果您想在select2-removed事件發生時刪除項目的位置,則可以將其存儲在select元素的data值中。

$('#mytags').on('select2-removing', function(e) { 
    var $select = $(this); 
    $select.data('select2-removedIndex', $select.select2('val').indexOf(e.val)); 
}).on('select2-removed', function(e) { 
    alert($(this).data('select2-removedIndex')); 
}) 

jsfiddle

+0

@crafter - 你還在工作[這裏](http://stackoverflow.com/q/27098199/859640)? – 2015-02-09 21:56:52