我有一個選擇框,它使用 jQuery 將文章添加到串列中,如下所示:
$('#articles').on('change', function(e) {
//adds article to list
}
這很好用,但是當我嘗試兩次添加同一篇文章時,onChange 方法不會觸發,因為它已經被選中。
解決這個問題的最好方法是什么?
我不想取消選擇它,因為它向用戶顯示了他們之前選擇的專案,并且 onClick 功能也無法正常作業。
uj5u.com熱心網友回復:
您可以通過在選項標簽上使用點擊事件來實作這一點。
$('#articles').on('click', 'option', function(e) {
//adds article to list
console.log($(this).val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="articles">
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
<option>option 4</option>
<option>option 5</option>
</select>
每次單擊選項或更改選項時都會呼叫該事件,然后您可以像以前一樣將其添加到陣列中。
uj5u.com熱心網友回復:
使用 select2 插件可以使用:
$('#articles').on('select2:close', function(e) {
...
}
這將觸發該功能,即使它已經被選中。
感謝:@Pete 在評論中給出答案
uj5u.com熱心網友回復:
使用select2()
$('#articles').select2().on('click', function() {
console.log('selected : ', $(this).val());
});
$('#articles').select2().on('click', function() {
console.log('selected : ', $(this).val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
<select id="articles">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/455097.html
標籤:javascript jQuery jQuery-select2
