мультиселекторный фильтр с использованием JavaScript - PullRequest
0 голосов
/ 22 октября 2018

У меня есть тег option, и он отлично работает с одним фильтром, и я хочу сделать его множественным выбором .... мой код следующий: -

$('#version_no').change(function () {
   var version_no = $('#version_no').val();
   if (version_no != null) {
      showAll(version_no);
   } else {
      showAll();
   }
   });

showAll() - это функция, которая возвращает данныепосле фильтрации.если фильтр не выбран, то все отображается.

следующий код представления: -

    <select multiple="multiple" style="margin-top:15px;" name="version_no" id="version_no">
   <option value="">Select Version No</option>
    <?php if (count($get_version_no)): ?>
           <?php foreach ($get_version_no as $version): ?>
                 <option value=<?php echo $version->version_no; ?>><?php echo $version->version_no; ?></option>
          <?php endforeach; ?>
          <?php else: ?>
  <?php endif; ?>

$get_version_no генерируетзначение раскрывающегося списка, такое как 1,1.1,1.2 и т. д.

ТАК. Я хочу сделать его множественным, любая помощь будет оценена.Я использую codeigniter 3.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Вам нужно сделать массив version_no в имени для множественного выбора

<select multiple="multiple" style="margin-top:15px;" name="version_no[]" id="version_no">

В jquery

var version_no= [];

$.each($("#version_no option:selected"), function(){            
    version_no.push($(this).val());
});

var version = version_no.join(", ");

version будет строкой со всеми выбранными значениями, разделенными запятой

0 голосов
/ 22 октября 2018

Ваш код Javascript просто необходимо реорганизовать так, чтобы version_no представлял собой массив, а не одно значение.Вы можете использовать селектор «: выбранный», чтобы получить выбранные опции.(см. https://api.jquery.com/selected-selector/). Вам также потребуется реорганизовать функцию showAll(), чтобы она анализировала массив, а не одно значение. Я также хотел бы, чтобы функция showAll() выполняла нулевые проверки вместо выполнения if...then/else.

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