0

我已经坚持了好几天了,所以如果有人可以帮助我解决这个问题,我将不胜感激。

我正在做一个 Wordpress 主题,我有一个选项面板,用户可以在其中输入他们的 Twitter 用户名。如果他们输入用户名,我希望 Twitter 图标出现在页脚中,如果他们将该字段留空并且不输入用户名,我希望 Twitter 图标消失。

Twitter 图标图像在名为“.twitter”的 div 类中调用,目前,即使输入 id 值为空,Twitter 图标也始终存在。所以我想要做的是当输入id值为空时隐藏这个div类,以便图标消失。

当我在有人说要使用这个 jQuery 之前问这个问题时:

<script type="text/javascript">
$(document).ready(function() {

    if($('#mytheme_twitter').val() == '' ){$('.twitter').hide();}  

    $('#mytheme_twitter').on('change' , function() {

         if( this.value != ''){

               $('.twitter').show(); 
          }
          else{
               $('.twitter').hide(); 
         }
    });
  });
</script>

我把这个 jQuery 放在我的 header.php 中,但由于某种原因它不起作用。div 类的名称肯定是“.twitter”,那么输入 id 的选择器会不会是错误的?我进入了 Firefox 的选项面板,并用 Firebug 突出显示了输入框,它肯定是“#mytheme_twitter”。我也尝试过“input#mytheme_twitter”,但这也不起作用。

选项面板位于另一个 php 文件中,而不是 index.php 文件中。这可能是它不起作用的原因......因为该输入ID尚未在index.php中定义?我自己对此不太了解,因为我是一个 jQuery 菜鸟,而且我最近才开始掌握 php 的窍门。

4

3 回答 3

0

JavaScript 工作正常:http: //jsfiddle.net/XdeHP/

你的问题一定在别处。

于 2012-10-09T17:58:26.027 回答
0

尝试

$("#mytheme_twitter").change(function(){
if( $(this).val() != ''){

        $('.twitter').show(); 
    }else{
        $('.twitter').hide(); 
    }
});
于 2012-10-09T18:02:11.477 回答
0

看起来您的 JS 正在调用管理员中的一个框。.twitter除非它和位于同一页面上(没有一些过度杀伤功能),否则它无法提取该值。

你最好在 PHP 中这样做:像这样

if(get_option('twitter', 'your-page')) !=='') { //show div }

这将被放置在你的 footer.php

于 2012-10-09T18:06:13.990 回答