Как предупредить всплывающее окно при нажатии на опцию в дуаллисте bootstrap? - PullRequest
0 голосов
/ 25 января 2020

Я использую плагин Bootstrap Dual Listbox на моем веб-сайте. Я хочу предупредить подсказку, когда в элементе select нажата указанная опция c, и пользователь должен заполнить некоторые данные и сделать эти данные go для выбранных элементов, а не для этой конкретной опции. Я не могу получить выбранную опцию, когда опция нажата. Я использую следующий код -

<h1>Bootstrap Dual List Box</h1>
    <div class="col-md-6">
        <select multiple="multiple" name="duallist">
            <option value="CCN">Complex Coordination</option>
            <option value="IT">Information Technology</option>
            <option value="CM">Case Management</option>
            <option value="DM">Disease Management</option>
            <option value="NM">Network Management</option>
            <option value="OT">Other</option>
        </select>
    </div>
    <br/>
<script>
$(document).ready(function(){
    var listBox = $("select[name='duallist']").bootstrapDualListbox({
        nonSelectedListLabel:'Non-Selected',
        selectedListLabel:'Selected',
        filterPlaceHolder:'Search',
        moveAllLabel:'Move All'
    });

    $("select[name='duallist_helper1']").on('change',function(){
        alert($("select[name='duallist_helper1']").find('option:selected').text());
        });
    });
});
</script> 

Оператор оповещения возвращает пустое значение.

Ответы [ 2 ]

0 голосов
/ 25 января 2020

$ ('[name = "duallist"]'). On ('change', function () {

var el = document.getElementsByName('duallist')[0];

alert(getSelectValues(el));

});

function getSelectValues(select) {

var result = [];

var options = select && select.options;

var opt;

для (var i = 0, iLen = options .length; i

opt = options[i];

if (opt.selected) {

result.pu sh (opt.value || opt.text);

}

}

return result; }

0 голосов
/ 25 января 2020

Получить выбранное значение с помощью $(this).val(), и вам нужно получить выделенный текст с помощью each

$(document).ready(function() {
  var listBox = $("select[name='duallist']").bootstrapDualListbox({
    nonSelectedListLabel: 'Non-Selected',
    selectedListLabel: 'Selected',
    filterPlaceHolder: 'Search',
    moveAllLabel: 'Move All'
  });

  $("select[name='duallist_helper1']").on('change', function(e) {
    let val = $(this).val();
    $("select[name='duallist'] option:selected").each(function() {
      var $this = $(this);
      if ($this.length) {
        var selText = $this.text();
        alert(selText);
      }
    });

  });
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap4-duallistbox/4.0.1/jquery.bootstrap-duallistbox.min.js" integrity="sha256-InGbz8oJQNJR4OYGCUMcTAtuGJ+J6jGm3vpSgb6YAoc=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap4-duallistbox/4.0.1/bootstrap-duallistbox.min.css" integrity="sha256-buHEe+156Hk0w29lJZctyXXfZl4mb8OFe1M6QfDanMs=" crossorigin="anonymous" />

<h1>Bootstrap Dual List Box</h1>
<div class="col-md-6">
  <select multiple="multiple" name="duallist">
    <option value="CCN">Complex Coordination</option>
    <option value="IT">Information Technology</option>
    <option value="CM">Case Management</option>
    <option value="DM">Disease Management</option>
    <option value="NM">Network Management</option>
    <option value="OT">Other</option>
  </select>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...