как получить значение флажка в неловкой ситуации - PullRequest
0 голосов
/ 07 января 2011

У меня есть эти неудобные флажки и, к сожалению, я не могу переименовать их из-за некоторых других причин кодирования .... как я могу получить значение проверенного флажка.

<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

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

Ответы [ 4 ]

2 голосов
/ 07 января 2011

Дайте внутреннему столу 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);
}
    }
0 голосов
/ 07 января 2011

Предполагая, что у вас есть только 4 флажка и все их идентификаторы начинаются с '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 
   }

}
0 голосов
/ 07 января 2011

Почему вы не используете 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 .

0 голосов
/ 07 января 2011

есть ли причина, по которой вы не можете просто сделать

alert(document.form.pro1.value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...