当输入id值为空时,如何隐藏div类?

时间:2012-10-09 17:42:46

标签: php jquery wordpress html hide

我已经被困在这几天了,所以如果有人能帮助我解决这个问题,我真的很感激。

我正在做一个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'我也试过'输入#mytheme_twitter',但这也不起作用。

选项面板位于另一个php文件中,而不是index.php文件。这可能是它无法工作的原因......因为index.php中没有定义输入id?我自己对此并不了解,因为我是一个jQuery noob,而且我最近才刚刚开始使用php。

3 个答案:

答案 0 :(得分:0)

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

你的问题必须在别处。

答案 1 :(得分:0)

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

        $('.twitter').show(); 
    }else{
        $('.twitter').hide(); 
    }
});

答案 2 :(得分:0)

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

你最好用PHP做这件事:像这样

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

这将放在你的footer.php