2017-02-24 24 views
1

我在我的項目中有一個複選框,它來自數據庫的動態。在這裏,我只放一個,但它可能是許多依賴於數據庫表項 「NAME =」類」級=‘類別’>
如何在jquery中爲所有複選框編寫.onclick方法

我想使用jQuery火onclick事件,當用戶點擊任何的複選框。我嘗試,但它是當我點擊第一個複選框只火。 這裏是代碼,我嘗試..

$("[type=checkbox]").click(function() { 

       var category_array = new Array(); 
       var size_array = new Array(); 
       var color_array = new Array(); 
       $.each($("input[name='category']:checked"), function() { 
        category_array.push($(this).val()); 

       }); 
}); 

任何人都可以有想法,爲什麼它不提前工作 ??謝謝:)

+0

你需要確保輸入名稱類別也是一個數組。更改爲類別[] – Akintunde007

回答

1

和其更好地利用變化情況

$("input[type=checkbox]").change(function() { 
    if(this.checked) { 
    var category_array = new Array(); 
    var size_array = new Array(); 
    var color_array = new Array(); 
    $.each($("input[name='category']:checked"), function() { 
     category_array.push($(this).val()); 
    }); 
    } 
}); 
0

這將解決你的問題首先你的HTML改成這樣:

<div class="checkbox"> 
<label class="lbl-cat"><input type="checkbox" value="<?php echo $row["id"]; ?>" name="category[]" class="category"> <?php echo $row["name"]; ?></label> 

           </div> 

注意到,它是name="category[]"沒有name="category"

終於改變你的js同樣的

$.each($("input[name='category[]']:checked"), function() { 
        category_array.push($(this).val()); 

       }); 
1

的選擇所有複選框是:

$('input[type=checkbox]') 

現在做任何你想用它!

對於動態複選框...

$(document).on('change', 'input[type=checkbox]', function(e) { 
    //DO YOUR THANG 
}); 
相關問題