复选框总和大于特定数字时的警报消息

时间:2016-06-01 06:44:17

标签: javascript php html forms checkbox

我需要你帮助我正在尝试创建的东西。我想要构建的是当复选框的值的总和大于存储在数据库表中的特定数字时显示到用户屏幕的警报消息。问题是我使用php来回显复选框表格。

以下是表格:

def print(dataset, select_fields)
  dataset.each { |h,a| puts h.values_at(*select_fields).join(' ') }
end

提交按钮(在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>'  ;

最后我正在使用这个脚本:

<button type="submit" class="btn btn-w-m btn-primary">ΕΞΑΡΓΥΡΩΣΗ</button> 
</form>

但现在当我点击“确定”时在警报上我要删除最后一个复选框(使得&gt; maxSum)的检查,并在检查最后一个复选框之前再次使用这些值运行脚本!

1 个答案:

答案 0 :(得分:1)

您可以在页面底部使用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;
  }
});

将总和放入隐藏的输入中。