2015-12-10 7 views
0

Я пытаюсь вставить выбранное значение чекбокса в массив и отобразить значение массива. Однако я получил эту ошибку valueSelected.push is not a function .. Может ли кто-нибудь мне помочь? Вот мой код. Есть ли что-то, что я пропустил?Вставить значение выбранной радио кнопки в массиве

<html> 
    <head> 
     <script src="js/jquery-1.7.1.min.js"></script> 
     <script src="js/jquery-ui.js"></script> 
     <script src="js/jquery-ui.min.js"></script> 
    </head> 
    <body> 
     <table id="dataTbl"> 
      <tr> 
       <td><input type='checkbox' id='chkVerify' name='chkVerify' value='Item1'></td> 
       <td>Item 1</td> 
      </tr> 
      <tr> 
       <td><input type='checkbox' id='chkVerify' name='chkVerify' value='Item2'></td> 
       <td>Item 2</td> 
      </tr> 
      <tr> 
       <td><input type='checkbox' id='chkVerify' name='chkVerify' value='Item3'></td> 
       <td>Item 3</td> 
      </tr> 
     </table> 
     <button type="button" class="deletebutton" name="delete_video" title="Show Selected Value" onclick="DelRow();">Show Selected Value</button> 

     <script> 
      function DelRow(){ 
       var checkboxValArry=[]; 
       var $chkbox_checked = $('tbody input[type="checkbox"]:checked', '#dataTbl'); 
       if($chkbox_checked.length === 0){ 
        alert("No Row Selected"); 
       } 

       else{ 
        var checkedBox = $('#chkVerify:checked'); 
         for (var i=0; i<checkedBox.length; i++){ 
          var valueSelected = $('#chkVerify:checked').val(); 
          checkboxValArry = valueSelected.push(); 
          alert(checkboxValArry); 
         } 

       } 

      } 
     </script> 
    </body> 
</html> 

ответ

1

valueSelected - это строка.

Push только для массива.

Кроме того, вы не нажимаете элемент правильно.

Попробуйте как этот

checkboxValArry.push(valueSelected); 
console.log(checkboxValArry); 

EDIT

Данные retrive часть неправильна

Попробуйте как этот

var checkboxValArry=[]; 
$('#chkVerify:checked').each(function(){ 
    checkboxValArry.push($(this).val()); 
}) 
console.log(checkboxValArry); 
+0

Спасибо .. Это работает .. Но значение возвращает неверно. Если я нажимаю на Item 1 и Item 2, значение в массиве должно быть Item1, Item2 .. Но оно возвращает Item1, Item1 –

+0

@NurWafiqa i обновили мой ответ .. просто используйте '.each' вместо цикла –

+0

Хорошо. Спасибо .. Я дам попробовать –

1

Вы можете просто использовать JQuery map метод, чтобы сделать все тяжелый подъем для вас.

if($chkbox_checked.length === 0){ 
    alert("No Row Selected"); 
} 
else 
{  
     checkboxValArry = $chkbox_checked.map(function(){ 
           return this.value; 
         }).get();; 
     console.log(checkboxValArry);     
} 

Here является рабочим образцом

Кроме того, я заметил, что у вас есть такие же значение идентификатора для более чем одного checckbox. Это неверно. Вы должны сохранять уникальные значения id.

+0

Это тоже работает. Спасибо за ответ –

Смежные вопросы