获取选择的值select2 <li>不是选项

时间:2018-09-13 15:05:31

标签: php jquery jquery-select2

我使用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 :(得分:1)

要在单击时检索列表中的当前选定值,必须在click事件中使用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
});