Как реализовать SelectAll функциональность для html Mutli Select Options флажок? - PullRequest
0 голосов
/ 24 апреля 2020

Я реализую html Элемент флажка mutli select options. Я нашел следующий фрагмент кода из скрипки. (https://jsfiddle.net/KyleMit/mqcp7f3s/413/). Я хочу добавить флажок selectAll, чтобы выбрать все флажки одновременно. А также я хочу получить значения выбранных флажков. но выбрать все функции не работает

HTML:

<h3>Font Awesome</h3>
<select id="animals" multiple="" class="form-control select-checkbox-fa" size="5">
  <option>Dog</option>
  <option>Cat</option>
  <option>Hippo</option>
  <option>Dinosaur</option>
  <option>Another Dog</option>
</select>


<button id="selectall">Click</button>

</button>

CSS:

body {
  padding: 15px;
}

.select-checkbox option::before {
  content: "\2610";
  width: 1.3em;
  text-align: center;
  display: inline-block;
}
.select-checkbox option:checked::before {
  content: "\2611";
}

.select-checkbox-fa option::before {
  font-family: FontAwesome;
  content: "\f096";
  width: 1.3em;
  display: inline-block;
  margin-left: 2px;
}
.select-checkbox-fa option:checked::before {
  content: "\f046";
}

Jquery:

$('option').mousedown(function(e) {
    e.preventDefault();
    var originalScrollTop = $(this).parent().scrollTop();
    console.log(originalScrollTop);
    $(this).prop('selected', $(this).prop('selected') ? false : true);
    var self = this;
    $(this).parent().focus();
    setTimeout(function() {
        $(self).parent().scrollTop(originalScrollTop);
    }, 0);

    return false;
});


$('#selectall').click( function() {
   $('#animals').each(function() {
        var checkboxes = $(this).find("option:checked");
        checkboxes.each(function() {

             $(this).prop('selected', true);

        });
    });
});

1 Ответ

1 голос
/ 24 апреля 2020

Пожалуйста, отметьте это

$('#selectall').click(function () {    
    $('#animals option').prop('selected', true);  
 });
 
 $('#getValues').click(function () {    
  console.log("JHGHJ", $('#animals :selected').text());
 });
 
body {
  padding: 15px;
}

.select-checkbox option::before {
  content: "\2610";
  width: 1.3em;
  text-align: center;
  display: inline-block;
}
.select-checkbox option:checked::before {
  content: "\2611";
}

.select-checkbox-fa option::before {
  font-family: FontAwesome;
  content: "\f096";
  width: 1.3em;
  display: inline-block;
  margin-left: 2px;
}
.select-checkbox-fa option:checked::before {
  content: "\f046";
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h3>Font Awesome</h3>
<select id="animals" multiple="" class="form-control select-checkbox-fa" size="5">
  <option>Dog</option>
  <option>Cat</option>
  <option>Hippo</option>
  <option>Dinosaur</option>
  <option>Another Dog</option>
</select>


<button id="selectall">select All </button>
<button id="getValues">get Values</button>

</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...