2013-01-07 42 views
31

我有幾個輸入複選框,(它們的名稱與服務器上的發送數組的名稱相同)。使用複選框名稱獲取複選框值

所以,我需要得到每個值這個複選框,我想用作選擇器複選框名稱,這不行,請幫助。

<form> 
    <input type="checkbox" name="bla[]" value="1" /> 
    <input type="checkbox" name="bla[]" value="2" /> 
</form> 

JS:

$(document).ready(function() {  

    $("input[name=bla]").each(function() { 
     alert($(this).val()); 
    }); 

}); 

DEMO

+0

您的代碼將工作,如果你刪除[]的名稱PARAM意味着BLA []以BLA –

回答

53

您選擇與"bla" name屬性輸入,但你的投入有"bla[]" name屬性。

$("input[name='bla[]']").each(function() { 

http://jsfiddle.net/26axX/

+0

非常感謝,謝謝大家,我會接受這個答案:) – RIKI

+0

@OTARIKI不客氣:) – undefined

+1

添加:選中僅查找選中的複選框爲$(「input [name ='bla []']:checked」) .each(function(){ – Satish

3
$("input[name='bla[]']").each(function() { 
    alert($(this).val()); 
}); 
4

喜歡的話已經說了幾次,您需要將您的選擇更改爲

$("input[name='bla[]']") 

但我想補充,你使用單或在選擇器中使用[]時使用雙引號。

11

您還應該包含括號。 。 。因此

<input type="checkbox" name="bla[]" value="1" /> 

引用它應儘可能是name='bla[]'

$(document).ready(function() { 

    $("input[name='bla[]']").each(function() { 
     alert($(this).val()); 
    }); 

}); 
2

//獲取使用複選框的名字複選框值

<head> 
     <script> 
     function getCheckBoxValues(){ 
      $('[name="checkname"]').each(function(){ 
       alert($(this).val()); 
      }); 
     } 
     </script> 
    </head> 
    <body> 
     <input type="checkbox" name="checkname" value='1'/> 
     <input type="checkbox" name="checkname" value='2'/> 
     <input type="checkbox" name="checkname" value='3'/> 
     <input type="button" value="CheckBoxValues" onclick="getCheckBoxValues()"/> 
    </body> 

//獲取唯一的值女巫檢查

function getCheckBoxValues(){ 
     $('[name="checkname"]').each(function(){ 
      if($(this).prop('checked') == true){ 
       alert($(this).val()); 
      } 
     }); 
    } 
4

我想補充一點,如果你想獲得所有已選擇使用該名稱的複選框,你會想使用的語法如下:

$("[name='bla[]']:checked").each(function() { 
    // do stuff 
}); 

確保不存在結束之間的空格]:checked

+1

很好看,使用':checked'選擇器並避免額外的'if語句' – hmd

3

如果您想要獲取已選中複選框的所有值的列表(例如送他們作爲一個AJAX調用服務器)的列表,你可以取得與該名單:

var list = $("input[name='bla[]']:checked").map(function() { 
    return this.value; 
}).get(); 
+0

完美的解決方案(y)+1 –

2
$('[name="CheckboxName"]:checked').each(function() { 
    // do stuff 
});