【问题标题】:Get value selected select2 <li> not option获取选定的值 select2 <li> 不是选项
【发布时间】:2018-09-13 15:05:30
【问题描述】:

我使用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>

【问题讨论】:

  • $('#service').val() 有什么问题? select 2 应该更新实际的选择。直接在点击中使用它 - 不在您声明其他值的地方,否则在 dom 准备好后该值不会更新

标签: php jquery jquery-select2


【解决方案1】:

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

【讨论】:

  • 我收到 [object object] 警报
  • 既然会返回一个对象,试试alert(option_val[0].text)
  • 你也可以使用jQuery("#service option:selected").text();
  • 我可以提醒值吗?不是文字?
  • jQuery("#service").val();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 2017-12-10
  • 2013-10-09
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 2014-12-28
相关资源
最近更新 更多