[英]How to know if a select2 has options
我不需要知道您是否選擇了選項,我只需要知道您是否有可用選項。 如果我有一個或多個選項,我想手動添加另一個選項“全部”。 默認情況下它是選中的。
我看到在 inte.net 上使用了以下內容,但我已經嘗試過了,它總是給我 1。是否有 2 個選項,1 或沒有都沒有關系。
$('#myselect option').length == 0
$('#myselect').has('option').length == 0
var menu = getElementById("select_id");
if(menu.options.length) {
// has children
} else {
// empty
}
$("#myselect option").length > 0
當然,我已經更改了我的標識符。
有人知道該怎么做嗎?
提前致謝
我的代碼是這樣的:
$("#terminal_bookings").select2({
ajax: {
url: '{{ route('get_search_terminals_booking', ['client' => $client]) }}' + data,
dataType: 'json',
data: function (params) {
return {
q: params.term,
};
},
processResults: function (response) {
return {
results: response
};
},
cache: true
},
language: {
inputTooShort: function () {
return '{{ trans('common.insert_chars') }}';
}
}
});
但是當我把
console.log($("#terminal_bookings > option").length);
當我有 0 或 1 或 2 個選項時,永遠返回 1。
使用$("#myselect > option").length
檢查是否有任何options(children)
,
if ($("#cars > option").length) { } // from eg below
然后簡單地在 All 選項前面加上 if true
like
$("#cars").prepend($('<option>', {
value: 'All',
text: 'All'
}));
工作代碼
if ($("#cars > option").length) { // has children $("#cars").prepend($('<option>', { value: 'All', text: 'All' })); } else { // empty }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select name="cars" id="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.