在php中第一个逗号后显示更多/更少

时间:2018-03-01 09:14:03

标签: php jquery

我想在字符串中第一个逗号后隐藏字符串。

示例:ABCDEF,GHIJKL,MNOPQR。

输出:ABCDEF..显示更多

<h2 class="minimize"><?php echo $string; ?></h2>

<script type="text/javascript">
    var minimized_elements = jQuery('h2.minimize');

    minimized_elements.each(function(){    
        var t = jQuery(this).text();        
        if(t.length < 32) return;

        jQuery(this).html(
            t.slice(0,32)+'<a href="#" class="more_detail">Show More >></a>'+
            '<span style="display:none;">'+ t.slice(32,t.length)+' <a href="#" class="less_detail">< Show Less</a></span>'
        );

    }); 

    jQuery('a.more_detail', minimized_elements).click(function(event){
        event.preventDefault();
        jQuery(this).hide().prev().hide();
        jQuery(this).next().show();        
    });

    jQuery('a.less_detail', minimized_elements).click(function(event){
        event.preventDefault();
        jQuery(this).parent().hide().prev().show().prev().show();    
    });
</script>

我使用了此代码,但它无效。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

jQuery 上,您只需spit字符串

$(function(){
     var minimized_elements = jQuery('h2.minimize');

     minimized_elements.html(function(){
          var arr = $(this).text().split(",");

          if ( arr.length === 1 ) return arr[0];

          return  arr.shift() + '<a href="#" class="more_detail">Show More >> </a>'+'<span style="display:none;">, ' + arr.join(",") + ' <a href="#" class="less_detail"> < Show Less </a> </span>';
     });

     jQuery('a.more_detail', minimized_elements).click(function(event){
          event.preventDefault();
          jQuery(this).hide().prev().hide();
          jQuery(this).next().show();        
     });

     jQuery('a.less_detail', minimized_elements).click(function(event){
          event.preventDefault();
          jQuery(this).parent().hide().prev().show().prev().show();    
     });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h2 class="minimize">ABCDEF ,GHIJKL , MNOPQR</h2>
<h2 class="minimize">11111 ,2222 , 3333</h2>
<h2 class="minimize">ABCDEF</h2>