jquery
  • checkbox
  • 2013-03-02 105 views 0 likes 
    0

    我有複選框,其值從數據庫填充。我可以選擇並取消選中所有複選框,但我無法獲取單個複選框的值。這是我迄今所做的, 的複選框,從數據庫填充:從複選框中獲取值

    <form> 
    
    <br> 
    <input type="checkbox" id="All"> <b>Select/DeSelect All</b><br> 
    
    <?php 
    $sql = 'SELECT Subject_Category from {extdb_subjects} where level=1 '; 
    $res = db_query($sql); 
    
    foreach ($res as $row) 
    { 
    echo "<input type='checkbox' id='sub_names' name='{$row->Subject_Category}' 
        value='{$row->Subject_Category}'"; 
    
        echo ">{$row->Subject_Category}"; 
        echo "<br>"; 
    } 
    ?> 
    
    </form> 
    

    jQuery腳本選擇去選擇選中的複選框的所有複選框,個別顯示:

    jQuery(function(){ 
    
    jQuery('#All').change(function() { 
    
    
        var checkboxes = jQuery(this).closest('form').find(':checkbox'); 
    
        if(jQuery(this).is(':checked')) { 
         checkboxes.attr('checked', 'checked'); 
    
    
        } else { 
         checkboxes.removeAttr('checked'); 
    
        } 
    
    
        }); 
    
        jQuery('#sub_names').change(function() { //This is not able to get the values 
    
        if(jQuery(this).is(':checked')) { 
         alert(jQuery("input[type=checkbox]:checked").val()); 
    
    
        } 
    
    
        }); 
    
    }); 
    

    任何建議將不勝感激。

    +0

    這可能有助於http://stackoverflow.com/questions/786142/how-to-retrieve-checkboxes-values-in-jquery – noob 2013-03-02 09:17:05

    +2

    你的問題是你有很多元素具有相同的ID(我認爲),所以只有第一個會有你的onChange處理程序。 – 2013-03-02 09:18:52

    +0

    @RC是的,因爲只有第一個元素值顯示時點擊複選框,其餘的沒有效果。 – 2013-03-02 09:26:51

    回答

    0

    這對我來說似乎很奇怪。你檢查這個是否被選中,然後你試圖抓取一些任意的複選框值。嘗試這個。

    jQuery('#sub_names').change(function() { //This is not able to get the values 
        if(jQuery(this).is(':checked')) { 
        alert(jQuery("input[type=checkbox]:checked").val()); 
        } 
    } 
    

    嘗試:

    jQuery('input[type=checkbox]').click(function(){ 
         if(jQuery(this).is(':checked')){ 
         console.log($(this).val()) 
         } 
        }) 
    
    +0

    非常感謝你真的工作:-)! – 2013-03-02 09:48:13

    相關問題