0

オプション パネルには、ユーザーが Twitter ユーザー名を入力できるセクションがあります。現在、そのフィールドの値が空の場合、私の Web サイトで Twitter アイコンが消えます。これは、div クラスが正常に非表示になったことを意味するため、良いことです。ただし、フィールドにユーザー名を入力しても、div クラスは非表示のままです。

これは私が現時点で持っているjQueryです:

<script type="text/javascript">
$(document).ready(function() {
if($('mytheme_twitter:empty')){$('.twitter').hide();}   
});
</script>

そこには何かが欠けているに違いないと思います。別の機能を追加する必要がありますか? もしそうなら、どこに置くのですか?私は少しjQuery初心者です。

4

2 に答える 2

4

まず、このユースケースでは:emptyは間違ったセレクターです。

:empty 子を持たないすべての要素を選択します (テキスト ノードを含む)

入力の値が空かどうかを確認するようにロジックを変更します。

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

その場合を処理するには、変更イベントを作成する必要があります..

$('mytheme_twitter') has to be   $('#mytheme_twitter')  If ID OR $('.mytheme_twitter') If Class

///

 <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>
于 2012-10-08T16:27:00.473 に答える
1

私はこのようなことをします:

<script type="text/javascript">
    $(document).ready(function () {
        var twitter = $(".twitterTextBox").val();
        if(twitter == "") {
            $(".twitterIcon").hide();
        } else {
            $(".twitterIcon").show();
        }
    });
</script>

これは、ページが読み込まれたときにのみ入力をチェックします。テキストボックスに何かを入力したときにTwitterアイコンを表示する場合は、などのイベントリスナーを追加する必要がありますonkeyup

お役に立てれば。

于 2012-10-08T16:34:34.730 に答える