簡體   English   中英

jQuery檢查復選框是否選中

[英]Jquery check if checkbox checked

這段代碼有什么問題。

我有div框,當單擊Coutries標題時,他顯示了國家列表。 該列表包含5個復選框

  • 日耳曼
  • 美國
  • 塞爾維亞
  • 法國

小提琴http://jsfiddle.net/ikac/bfaH5/

當我嘗試檢查是否有countury時出現問題。

   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完成時,他會顯示alert(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,但再也沒有。 我做錯了什么?

謝謝。

如果您更喜歡使用CSS選擇器方法,則可以執行以下操作:

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

要么:

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

.prop()可能是更好的選擇。

從這里開始: http : //api.jquery.com/prop/-is ()和prop(),雖然它們檢索不同的內容,但是兩者都能可靠地工作。 雖然使用attr()具有不同的含義-它僅檢索默認值

我在這里為您制作了一個小提琴。

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

您用於檢查Checkbox選中的屬性的以下代碼正確。

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

編輯:當國家淡入時再次單擊“ 國家”時,選中的復選框仍然為true,並顯示警報。

希望這可以幫到你..

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

   title.click( function(){ 
    var selected = '';
    $('.s_list input:checked').each(function() {
     selected += $(this).attr('id') +  ',';
      }); 
         $(".state").fadeToggle('fast');
        if(selected.length)
            alert('selected: ' + selected);
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM