2016-10-04 32 views
1

我想添加一個新的按鈕來選擇2 drop甚至用戶不能得到他們的結果或不,但我追加這個按鈕後,我不能使用jquery點擊。如何在Select2中添加按鈕並在select2-no-results中調用Select2中的click事件?

$('.city').select2({ 
     formatNoMatches: function(term) { 
      return "<a href='{{route('addNewIterms')}}' class='btn btn-info btn-sm' id='add'> Add New Item </a>"; 
     } 
    }); 
Another solution 
$('.select2-drop ').append("<a href='{{route('addNewIterms')}}' class='btn btn-info btn-sm' id='add'> Add New Item </a>"); 

但我不能把點擊事件雖然我嘗試jQuery的DOM事件像下面

$(document).on('click','.select2-drop,.select2-drop#add', function(){ 
     console.log(this) 
}) 
+1

你的問題不清楚! – ZeJur

+0

當我使用JQuery的select2和我使用JQuery的append方法都選擇formatNoMatches方法插入一個按鈕添加上select2下拉,但之後,我將使用document.onclick在此按鈕,但不工作 –

+0

嘗試使用標點符號。否則,真的很難理解你! – ZeJur

回答

1

我認爲formatNoMatchesSelect2刪除。

你必須使用的語法如下:

$('#e1').select2({ 
 
    formatNoMatches: function(term) {    
 
    return "<button class='btn btn-info btn-sm' id='add'>Add a new item</button>"; 
 
    }, 
 
}); 
 

 
$('.select2-container').on('click', '#add', function() { 
 
    alert('New Item Here!'); 
 
})
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.0.0/select2.css" rel="stylesheet" /> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/2.1.0/select2.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<select multiple id="e1" style="width:300px"> 
 
    <option value="AL">Alabama</option> 
 
    <option value="Am">Amalapuram</option> 
 
    <option value="An">Anakapalli</option> 
 
    <option value="Ak">Akkayapalem</option> 
 
    <option value="WY">Wyoming</option> 
 
</select>

+0

對不起,我已經使用select2版本2 –

+0

也許它不支持與版本2我已經測試了這個腳本多次仍然無法工作,你可以改變到版本2? –

+0

@HengSopheak,現在檢查 – ZeJur

相關問題