使用jQuery检查页面加载时检查的输入量

时间:2016-08-26 02:42:36

标签: javascript jquery html

我有这个JS,当选择一定数量的项目时将禁用其他选项,而选择这些项目将更新计数,但是效果很好!我将这些添加到购物车时,在购物车中我可以进行编辑,因此当我点击编辑时,它会返回到产品页面,我会选择客户在添加时选择的选项购物车,但我的计数显示0为3,其他选项未被禁用。

我知道我需要在页面加载时执行每个/ foreach以检查是否检查了任何复选框,如果是,并且在极限情况下禁用其他复选框等,但它花了我一段时间。我希望得到一些帮助,让它到达这个小提琴的位置。如何在装载时检查这些?

原始小提琴:

https://jsfiddle.net/ate9a04u/2/

JS:

$(document).ready(function() {
  var maxAllowed = 3;
  $(".rmax").html(maxAllowed);

  $(".subscribtion-content input.checkbox").change(function() {
    var checkBox = $(".subscribtion-content input.checkbox")
    var cnt = $(".subscribtion-content input.checkbox:checked").length;
    if (cnt == maxAllowed) {
      checkBox.not(':checked').prop('disabled', true);
    } else {
      checkBox.not(':checked').prop('disabled', false);
    }

    $(".rcount").html(cnt);
  });
});

1 个答案:

答案 0 :(得分:2)

你说你希望.change()处理程序执行的处理不仅仅是在点击一个复选框时,而且在页面加载时也是如此。

如果是这样,只需在现有的就绪处理程序中绑定.change()处理程序之后立即手动触发$(document).ready(function() { var maxAllowed = 3; $(".rmax").html(maxAllowed); $(".subscribtion-content input.checkbox").change(function() { var checkBox = $(".subscribtion-content input.checkbox") var cnt = $(".subscribtion-content input.checkbox:checked").length; if (cnt == maxAllowed) { checkBox.not(':checked').prop('disabled', true); } else { checkBox.not(':checked').prop('disabled', false); } $(".rcount").html(cnt); }).change(); // <--- this is all you need to add }); 处理程序:

public static void dimBehind(PopupWindow popupWindow) {
    View container;
    if (VERSION.SDK_INT >= VERSION_CODES.M){
        container = (View) popupWindow.getContentView().getParent();
    } else {
        container = popupWindow.getContentView();
    } 
    if (popupWindow.getBackground() != null) {
        container = container.getParent()
    }
    Context context = popupWindow.getContentView().getContext();
    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    WindowManager.LayoutParams p = (WindowManager.LayoutParams) container.getLayoutParams();
    p.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND; // add a flag here instead of clear others
    p.dimAmount = 0.3f;
    wm.updateViewLayout(container, p);
}

演示:https://jsfiddle.net/ate9a04u/6/