jquery选项卡无法识别选项卡ui面板ID

时间:2015-05-08 08:57:14

标签: jquery jquery-ui-tabs

我尝试找到选择了哪个标签,如果选择“mappanel”id做了一些事情。

我用这个:

-inform DER

HTML:

   function wpuf_shortcode_map( $location, $post_id = null, $args = array(), $meta_key = '' ) {
        global $post;

        // compatibility
        if ( $post_id ) {
            wpuf_shortcode_map_post( $location, $post_id, $args );
            return;
        }



        $default = array('width' => 450, 'height' => 250, 'zoom' => 14);
        $args = wp_parse_args( $args, $default );

        list( $def_lat, $def_long ) = explode( ',', $location );
        $def_lat = $def_lat ? $def_lat : 0;
        $def_long = $def_long ? $def_long : 0;
        ?>

        <div class="google-map" style="margin-left:80px; height: <?php echo $args['height']; ?>px; width: <?php echo $args['width']; ?>px;" id="wpuf-map-<?php echo $meta_key . $post->ID; ?>"></div>

        <script type="text/javascript">

    $('#tabs').tabs({
        show: function(event, ui){

            // check if is "mappanel" and "map" is empty
          if (ui.panel.id == 'mappanel' && $($('#wpuf-map-<?php echo $meta_key . $post->ID; ?>')[0]).is(':empty'))
            {

             alert('asdasd');

             }
            }                    
        });
        </script>
        <?php
    }

标签工作正常,但是这个:

 <div id="tabs">
  <ul>
    <li><a href="#tabs-1">תמונות</a></li>
    <li><a class="mp" href="#mappanel">מיקום</a></li>
  </ul>
  <div id="tabs-1">
         <?php
        $images = get_post_meta( $post->ID, 'images' );

        if ( $images ) {
            foreach ( $images as $attachment_id ) {
                $thumb = wp_get_attachment_image( $attachment_id, 'small-thumb' );
                $full_size = wp_get_attachment_url( $attachment_id );

                printf( '<a rel="lightbox" href="%s" class="img" >%s</a>', $full_size, $thumb );
            }
        }else{

            echo '<span style="font-size:24px;color:red;">אין תמונות</span>';
        }
        ?>
  </div>
  <div id="mappanel">
     <?php echo wpuf_shortcode_map( 'location', $post->ID ); ?> 
  </div>
</div>

我无法让它工作,警报不起作用。

即使我这样检查,如果(ui.panel.id =='mappanel')它也不起作用。

不工作,我做错了什么?

1 个答案:

答案 0 :(得分:1)

你需要使用像

这样的激活事件
$("#tabs").tabs({
    activate: function (e, ui) {
        //if (ui.newPanel.is('#mappanel') && $('#wpuf-map-<?php echo $meta_key . $post->ID; ?>').eq(0).is(':empty')) {
        if (ui.newPanel.is('#mappanel')) {
            console.log('yes mappanel')
            //do your stuff
        }
    }
});

演示:Fiddle