2

このコードには何か問題があります。

私は div ボックスを持っており、Coutries のタイトルをクリックすると、国のリストが表示されます。そのリストには5つのチェックボックスが含まれています

  • ゲルマニア
  • アメリカ合衆国
  • セルビア
  • フランス

フィドル http://jsfiddle.net/ikac/bfaH5/

一部の国がチェックしたかどうかを確認しようとすると問題が発生します..

   searchContainer: function() {

        var title = $(".title-search");

         // On click show countury list 

        title.click(function(){                  
                $(".state").fadeToggle('fast',function(){

                    // check if sothing checked

                    if ($("#france").is(':checked')) {
                        alert("France Selected");

                        // Show all cities from this countury
                    }

                });
        });
    }

しかし、国をチェックしても何も起こりません....

初めてこれを試します:

if($("#france").checked = true)) {
     alert("FRANCE");
}

しかし、タイトルをクリックし、fadeToggle が完了すると、アラート (FRANCE) のチェックが表示されません。

HTML :

<!DOCTYPE html>
<html>
    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script src="javascript/gfactory.js"></script>
        <link rel="stylesheet" type="text/css" href="css/gfactory.css">
        <script>

            $(document).ready(function() {
                window.Balcanrent.init();
                window.Balcanrent.searchContainer();
            });

        </script>

    </head>
    <body>

        <form name="search">

            <div class="search-box"> 
                <div class="title-search"> Counturies </div>
                <div class="state">
                    <ul class="s_list">
                        <li><input id="ger" type="checkbox" value="gr">Germania</li>
                        <li><input id="usa" type="checkbox" value="usa">USA</li>
                        <li><input id="sr" type="checkbox" value="sl"> Serbia </li>
                        <li><input id="france" type="checkbox" value="fr">France </li>
                    </ul>                   
                </div>
            </div>
        </form>
</body>
</html>

そして、私は .length > 0 を使用しようとしましたが、再び何もしません。私は何を間違っていますか?

ありがとう。

4

3 に答える 3

3

CSS セレクター アプローチを使用する場合は、次のようにすることができます。

var c = $('#france').is(":checked");

または:

var c = $('#france').prop("checked");

.prop() はおそらくより良い選択です。

ここから: http://api.jquery.com/prop/ - is() と prop() は、異なるものを取得しますが、どちらも確実に機能します。attr() を使用すると意味が異なりますが、デフォルト値のみを取得します

于 2013-08-10T17:47:50.397 に答える
1

ここにフィドルを作成しました。

http://jsfiddle.net/kyawsithu/shC3c/1/

チェックボックスのチェック済みプロパティをチェックするために使用した以下のコードは正しいです。

    if ($("#france").is(':checked')) {
        alert("France Selected");
    }

編集:状態がフェードインしたときに国をもう一度クリックするチェックはまだ真であり、アラートが表示されます。

于 2013-08-10T18:12:11.143 に答える