简体   繁体   English

Jquery - 预先选择复选框时禁用复选框

[英]Jquery - Disable Checkboxes when a checkbox is Pre-Selected

In a Laravel Project, the Create Blade View contains some checkboxes.在 Laravel 项目中,创建刀片视图包含一些复选框。 I have easily achieved the feature that, If the first checkbox is selected, the other checkbox will be disabled.我已经轻松实现了如果第一个复选框被选中,另一个复选框将被禁用的功能。

Create Blade View创建刀片视图

 <div class="form-group">
      <label for="unit_price">Size</label>
      <div class=" form-check form-check-inline">
      <input class="form-check-input" type="checkbox" id="inlineCheckbox1" name="size[]" value="0" >
      <label class="form-check-label" for="inlineCheckbox1">0</label>
      </div>
  <div class=" form-check form-check-inline">
      <input class="form-check-input" type="checkbox" id="inlineCheckbox2" name="size[]" value="10" >
       <label class="form-check-label" for="inlineCheckbox2">10</label>
       </div>
       <div class="form-check form-check-inline">
      <input class="form-check-input" type="checkbox" id="inlineCheckbox3" name="size[]" value="20">
       <label class="form-check-label" for="inlineCheckbox3">20</label>
       </div>
      <div class="form-check form-check-inline">
      <input class="form-check-input" type="checkbox" id="inlineCheckbox4" name="size[]" value="30">
      <label class="form-check-label" for="inlineCheckbox4">30</label>
       </div>
    </div>

jquery jquery

 $("#inlineCheckbox1").click(function() {
        $(":checkbox").not(this).prop("disabled", this.checked);
    });

But the problem occurs in the Edit Blade View.但是问题出现在编辑刀片视图中。

Edit Blade View编辑刀片视图

<div class="form-group">
  <label for="unit_price">Size</label>
  <div class=" form-check form-check-inline">
  <input class="form-check-input" type="checkbox" id="inlineCheckbox1" name="size[]" value="0"
  {{in_array("0",$size)?"checked":""}}>
  <label class="form-check-label" for="inlineCheckbox1">0</label>
  </div>
  <div class=" form-check form-check-inline">
  <input class="form-check-input" type="checkbox" id="inlineCheckbox2" name="size[]" value="10"
  {{in_array("10",$size)?"checked":""}}>
  <label class="form-check-label" for="inlineCheckbox2">10</label>
  </div>
  <div class="form-check form-check-inline">
   <input class="form-check-input" type="checkbox" id="inlineCheckbox3" name="size[]" value="20"
   {{in_array("20",$size)?"checked":""}}>
   <label class="form-check-label" for="inlineCheckbox3">20</label>
    </div>
     <div class="form-check form-check-inline">
    <input class="form-check-input" type="checkbox" id="inlineCheckbox4" name="size[]" value="30"
    {{in_array("30",$size)?"checked":""}}>
    <label class="form-check-label" for="inlineCheckbox4">30</label>
    </div>
  </div>

In the edit view, the other checkboxes are not disabled though #inlineCheckbox1 was pre-selected.在编辑视图中,尽管预先选择了#inlineCheckbox1 ,但其他复选框并未禁用。 So, the other checkboxes seem clickable.因此,其他复选框似乎可以点击。

I want to achieve: the other checkboxes will always be disabled if #inlineCheckbox1 is checked.我想实现:如果选中#inlineCheckbox1 ,其他复选框将始终被禁用。

try following js in your edit view尝试在您的编辑视图中关注 js

$(function(){
    if($('#inlineCheckbox1').is(":checked"))
    $(":checkbox").not($('#inlineCheckbox1')).prop("disabled", true);
})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM