Проверка, чтобы проверить, установлен ли по крайней мере один флажок в JQuery DataTable с использованием JavaScript

1

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

HTML-код

    <div id="ichildticket" class="panel panel-primary" style="display:none">
        <div class="panel-heading" >    
         <h4 class="panel-title">
            <a class="collapsed" role="button" data-toggle="collapse" href="#collapseFive1" aria-expanded="false">
             <i class="fa fa-child fa-fw"></i> Select Child Tickets to Close <i class="pull-right fa fa-caret-down" aria-hidden="true"></i>
              </a>
         </h4>
     </div>
   <div id="collapseFive1" class="panel-collapse collapse in" role="tabpanel">
     <div class="panel-body">
       <span id="SelectTicket" style="color:red"></span>
          <div class="col-md-12">
          <table id="childtable" class="table table-condensed table-striped" style="width: 100% !important;"></table>
         </div>
    </div>
       </div>
   </div>
   <div class="form-group">
       <div class="col-md-12">
        <input type="submit" value="Save" class="btn btn-primary btn-block " id="btnSubmit" />
      </div>
  </div>

Javascript

        $(function () {
        $('input[id$=btnSubmit]').click(function (ze) {
            $('#childtable').find("tbody tr").each(function () {
               var row = $(this);
                var vcheckBox = document.getElementById("childticket");
                var checkboxs = row.find($(':checkbox:checked'));
                var okay = false;
                for (var i = 0, l = checkboxs.length; i < l; i++) {
                    if (vcheckBox.checked == true && checkboxs[i].checked) {
                        okay = true;
                        break;
                    }
                }
                if (!okay) {
                    alert("At least One Child Ticket Should Be Selected");                        
                    ze.preventDefault();
                }
                else {
                    alert("Checkbox Selected");
                }
            });
        });
    });

Изображение таблицы Jquery

Изображение 174551

  • 0
    Добавьте свой HTML-код также
Теги:

2 ответа

1

Вы можете найти все флажки в родительской таблице и выяснить, сколько из них проверено. Если у вас больше 0, значит, установлен хотя бы один флажок, иначе пользователь ничего не выбрал. Что-то вроде этого:

var check = $('#tablename').find('input[type=checkbox]:checked').length;
if (check>0) {
    alert("Checkbox Selected");
else{
    alert("At least One Child Ticket Should Be Selected");                        
    ze.preventDefault();
}

Подобный вопрос уже был на stackoverflow: как посчитать, сколько флажков было проверено.

  • 0
    это не работает для меня, если вы посмотрите на мой код, у меня есть 2 флажка в моем операторе if, мне нужно проверить, если vcheckBox имеет значение true и флажки <0, но вы проверяете код только для одного флажка. любая помощь в этом вопросе, пожалуйста?
0

Если вы любите чистый Javascript для всего проекта. это может помочь вам, я думаю, код Javascript

 let obj =  document.getElementById("clickevent");
let btn = document.getElementById("btnhit");
let holdvalue = [];
obj.addEventListener("click",function(even){
        holdvalue.push(even.target.value);

});
btn.addEventListener("click",function(even){
    if(holdvalue.length  !== 0)
    {
        holdvalue.forEach(function(item){
     alert(item);
      });
    }
    else

    alert("you have not selected any item yet");

});

HTML-код

<!-- 
  Bootstrap docs: https://getbootstrap.com/docs
-->

<div class="container">
  <div class="row">
    <div class="col">
        <form>

           <div class="form-group" id="clickevent">
               <input type="checkbox" class="myche" value="1">
               <input type="checkbox" class="myche" value="2">
               <input type="checkbox" class="myche" value="3">
               <input type="checkbox" class="myche" value="4">
               <input type="checkbox" class="myche" value="5">
               <input type="checkbox" class="myche" value="6">
           </div>
           <button class="btn btn-outline-primary" type="button" id="btnhit">
            Hit the button
           </button>
        </form>
    </div>

  </div>

</div>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню