簡體   English   中英

jQuery添加到optgroup觸發事件

[英]JQuery on adding to optgroup trigger event

我有一個包含optgroup的選擇框。 我需要為其添加事件偵聽器,例如onclick或onchange,它將觸發一個事件,但僅當我向其中添加新選項時才如此。

這是我的選擇方式:

var $selectedExam = $("#formExam_released"); //this is the <optgroup>

我試過了

$selectedExam.on("change", function(){
        removeDuplicates('exam');
    });

但這只會在我單擊optgroup中的項目時觸發“ removeDuplicates”。

有任何想法嗎?

像這樣嗎

$().ready(function() {
    $("optgroup").each(function() {
        $(this).on("change", function() {
            var id = $(this).attr(id);
            var arrrayOfElements = [];

            $("optgroup").each(function() {
                if($(this).attr("id") == id) {
                    $(this + " option").each(function() {
                        arrrayOfElements[arrrayOfElements.length] = $(this).val();
                    });
                }
            });

            for (var i = 0; i < arrrayOfElements.length; i++) {
                for(var j = 0; j < arrrayOfElements.length; j++) {
                    if(arrrayOfElements[i] == arrrayOfElements[j]) {
                        $("optgroup option[value='"+ arrrayOfElements[i] +"']").each(function() {
                            $(this).remove();
                        });
                    }
                }
            }
        });
    });
});

此代碼應從選擇選項中刪除所有重復項。 這可以在.on("change",...);.on("change",...);

編輯后,只要添加帶有唯一標識符的屬性ID,就可以搜索該值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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