簡體   English   中英

如何知道 select2 是否有選項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM