我已经被困在这几天了,所以如果有人能帮助我解决这个问题,我真的很感激。
我正在做一个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。
答案 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
中