[英]Alert message when sum of checkboxes is greater than a specific number
我需要您尝试创建的东西的帮助。我想要构建的是当复选框的值的总和大于数据库表中存储的特定数字时向用户屏幕显示的警报消息。是我正在使用PHP来回显复选框形式。
形式如下:
echo '
<div>
<div class="feed-activity-list">
<div style="border: 0.5px solid green; border-right-style:none;" class="input-group m-b"><span class="input-group-addon"> <input type="checkbox" name="opt" value="'.$points.'"></span>
<div class="feed-element">
<a href="profile.html" class="pull-left">
<img alt="image" class="img-circle" src="'. $row_select4['image_url']. '">
</a>
<div class="media-body ">
<div class="ibox-tools">
<span class="label label-primary">ΔΙΑΘΕΣΙΜΟ</span><br><br>
<span class="label label-warning-light pull-right"><strong>' .$row_select4['points']. '</strong> Πόντοι</span>
</div>
<strong>' .$row_select4['title']. ' </strong> ' .$row_select4['description']. ' <br>
<small class="text-muted">Διάρκεια: <strong>' .$row_select4['start_date']. ' - ' .$row_select4['end_date']. ' </strong></small>
<div class="well">
' .$row_select4['description']. '
</div>
</div>
</div>
</div>
</div>' ;
和提交按钮(php脚本之外):
<button type="submit" class="btn btn-w-m btn-primary">ΕΞΑΡΓΥΡΩΣΗ</button>
</form>
最后,我正在使用此脚本:
var sum = 0;
var maxSum = <?php echo $form_points; ?> ;
$('[name="opt"]').change(function(){
if($(this).is(":checked")) {
sum = sum + parseInt($(this).val());
}
else
{
sum = sum - parseInt($(this).val());
}
if( sum > maxSum )
{
;
sweetAlert("ΠΡΟΣΟΧΗ", "Υπερβήκατε τους πόντους του πελάτη", "error");
}
})
但是现在,当我在警报上单击“确定”时,我想删除最后一个复选框(使sum> maxSum)选中,并使用值再次运行脚本,然后再选中最后一个复选框!
您可以在页面底部使用jquery脚本。
var checkboxes = $('.feed-activity-list input[type=checkbox]');
var limit = 9999999;
var sum = 0;
var limitExceeded;
checkboxes.on('change', function() {
var input = $(this);
var inputVal = input.val() - 0;
if (input.prop('checked')) {
if ((sum + inputVal) > limit) {
input.prop('checked', false);
alert('sum exceeded limit' + limit);
} else {
sum += inputVal;
}
} else {
sum -= inputVal;
}
});
并将总和放入隐藏的输入中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.