Так что у меня есть код, как эти

<select style="width: 300px" id="vendor" name="vendor" multiple="multiple">
</select>
<input type="checkbox" id="checkbox" >Select All

И на таких jquery

$("#vendor").select2();

var ceked = new Option("ALL", "id");
ceked.selected = true;



$("#checkbox").click(function(){
    if($("#checkbox").is(':checked') ){
        $("#vendor").append(ceked);
        $("#vendor").trigger("change");
        $("#vendor").prop('disabled', true);

    }else{
        $('#select2-vendor-container').empty();
        $("#vendor").prop('disabled', false);
     }
});

Ну а вроде работать для меня, но моя проблема заключается в том, когда я пытаюсь не проследить, теги "ALL" все еще показывая. Я был опробован изменить $('#select2-vendor-container').empty(); в $('#vendor').val();, но все еще не работает. Как удалить эти новые теги "ALL" ??

0
Wolfzmus 15 Мар 2018 в 06:42

1 ответ

Лучший ответ

Вы можете очистить все выделенное этим кодом,

$("#vendor").empty().trigger("change");

И удалить опцию со значением id и отображение текста ALL вы можете использовать следующий код,

$("#vendor option[value='id']").remove();
3
Abhilash Ravindran C K 15 Мар 2018 в 07:34
Работает вроде как, но val(null) все еще показывает теги. Так что я меняю ("#vendor").empty().trigger("change"); И это работает, вероятно, вы можете его отредактировать, и я одобряю ваш ответ: D
 – 
Wolfzmus
15 Мар 2018 в 07:32
Да ты прав @Wolfzmus. Я обновил ответ.
 – 
Abhilash Ravindran C K
15 Мар 2018 в 07:35
Спасибо за empty (), он работает полностью, на их сайте упоминается null, который не очищает теги.
 – 
MR_AMDEV
3 Май 2019 в 01:43