如何在尴尬的情况下获取复选框的值

时间:2011-01-07 07:22:09

标签: javascript-events javascript

我有这些尴尬的复选框,不幸的是由于其他一些编码原因,我无法将它们重命名。我怎样才能获得选中复选框的值。

<tr> 
   <td align=left colspan=6>
      <table border="0">
         <tr>
           <td><font class="body_text"> windows:  <input name="pro1" id="products0" type="checkbox" value="5" test="5"></td>
           <td><font class="body_text">  cpu:      <input name="pro2" id="products1" type="checkbox" value="2" test="2"></td>
           <td><font class="body_text">  keyboard: <input name="pro3" id="products2" type="checkbox" value="3" test="3"></td>
           <td><font class="body_text">  mouse:    <input name="pro4" id="products3" type="checkbox" value="4" test="4"></td>
         </tr>

我正在使用以下代码,该代码在alret中返回undefined

if(document.form.pro1.checked) 
     alert(document.getElementById('products0').value);

4 个答案:

答案 0 :(得分:2)

给你的内表一个ID然后......

myTable=document.getElementById('mytable');
var inputArray=myTable.getElementsByTagName('input');
for(var i=0;i<inputArray.length;i++){
    if(inputArray[i].type=='checkbox' && inputArray[i].checked==true){
    alert(inputArray[i].value);
}
    }

答案 1 :(得分:0)

你有什么理由不能做到

alert(document.form.pro1.value);

答案 2 :(得分:0)

为什么不使用jQuery来获取值?

$(document).ready(function () {
    var checkboxValues = Array();

    $("form#idOfForm").submit(function () {
        $("form input:checkbox:checked").each(function () {
            checkboxValues.push($(this).val()); // alternative use checkboxValues.push($(this).attr("value")); if this doesn't work
        });
    });
});

请务必先包含jQuery库。

答案 3 :(得分:0)

假设您只有4个复选框,并且所有ID都以'products'开头

var cboxId =  'products';

for(var i=0;i<4;i++){

   if (document.getElementById(cboxId +i).checked == true){ <br>
        // add to some array or call some functions to do checked processing 
   }

}