Получить выбранное значение select2 <li>не опция - PullRequest
0 голосов
/ 13 сентября 2018

Я использую select2, и я хочу получить значение моей опции, когда я выбираю тег, но мой вывод select2 похож на "span" "UL" "li", и когда я искал здесь, я нашел, что один говорит, что выможно получить значение параметра, например, jQuery("#service").select2('data');, но я получаю пустое предупреждение html:

<div class="wpb_column vc_column_container vc_col-sm-3">
    <input type="hidden"  value="search" class="search_icon">
</div>
<div class="wpb_column vc_column_container vc_col-sm-5">
    <label class="control-label col-md-3">Que cherchez-vous ?</label>
    <select name="services[]" id="service" class="form-control select2-multiple col-lg-5 col-md-9" multiple>
        <?php if ( !empty( $post_id ) ) {
            foreach ($post_id as $value) {
        ?>
        <option value="<?php echo($value->ID);?>"><?php echo($value->post_title);?></option>
         <?php
              }
         }               
         ?>

     </select>
</div>
<div class="wpb_column vc_column_container vc_col-sm-2">
    <input type="button" value="search" class="search_icon">
</div>
<div class="wpb_column vc_column_container vc_col-sm-3">
    <input type="hidden"  value="search">
</div>

и этот мой сценарий:

   <script>
        jQuery(document).ready(function() {
          jQuery('#service').select2({
          minimumInputLength: 1,
          width: '100%',
          tags: true
        });
        var option_val = jQuery("#service").select2('data');            
        jQuery('.search_icon').on('click', function() {
            alert(option_val);
        }); 
  </script>

1 Ответ

0 голосов
/ 13 сентября 2018

Чтобы получить текущее выбранное значение в списке, когда вы нажимаете, вы должны использовать select2('data') внутри события щелчка, например:

jQuery('.search_icon').on('click', function() {
    var option_val = jQuery("#service").select2('data');

    alert(option_val[0].text); //text
    //Or
    //alert( jQuery("#service option:selected").text() ); //text
    //Or
    //alert( jQuery("#service").val() ); //value
});
...