Может кто-нибудь помочь с моим кодом 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
Вы можете найти все флажки в родительской таблице и выяснить, сколько из них проверено. Если у вас больше 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: как посчитать, сколько флажков было проверено.
Если вы любите чистый 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>