2016-10-08 28 views
0

我正在使用Laravel框架和一些jQuery代碼。當通過會話訪問時,我的選擇框變爲禁用狀態

問題是,當我提交數據時,它已成功保存在會話中。當我回到上一頁時,我的選擇框顯示選定的值,但選擇框被禁用。我完全困惑。我在這裏做什麼?

這裏是我的HTML代碼: -

<div class="one-row"> 
    <?php foreach ($services as $key => $allservices){ 
    if($key <= 3){ 
     if(!empty($data['services'])){ 
     if(in_array($allservices['id'],$data['services'])) { 
      $checked = "checked"; 
     } else { 
      $checked = ""; 
     } 
     } else { 
     $checked = ""; 
     } 
    ?> 
    <div class="div_img_part-2"> 
     <span class="img_part_class-2"> 
     <img src="{{ 
      asset('images/ServiceImages/'. $allservices['image'])}}"></span> 
     <span class="text_part_class-2"> 
     <span class="check-box"> 
     <input type="checkbox" name="services[]" value=" 
      <?php echo $allservices['id']; ?>" <?= $checked; ?>><?php echo $allservices['name']; ?></span> 
     </span> 
     <select name="services[<?php echo $allservices['name'];?>]"class="selectpicker"> 
     <option value="">Select Your Sevice</option> 
     <option value="Salon" <?php if(!empty($data['services'][$allservices['name']])){ if($data['services'][$allservices['name']] == "Salon") {?> selected 
     <?php } } ?> >Salon</option> 
     <option value="Mobile beautician" <?php if(!empty($data['services'][$allservices['name']])){ if($data['services'][$allservices['name']] == "Mobile beautician") {?> selected 
     <?php } }?> >Mobile beautician</option> 
     <option value="Both" <?php if(!empty($data['services'][$allservices['name']])){ if($data['services'][$allservices['name']] == "Both") {?> selected 
     <?php } } ?>>Both</option> 
     </select> 
    </div> 
    <?php } } ?> 
</div> 

我的jQuery代碼看起來: -

<script> 
    $(document).ready(function() { 
    $(".div_img_part-2 .selectpicker").attr("disabled",true); 
    $('.selectpicker').selectpicker('refresh'); 
    $(".check-box input[type='checkbox']").on("change", function() { 
     if ($(this).prop("checked") == true) { 
     $(this).parents(".div_img_part-2").find(".selectpicker").removeAttr("disabled"); 
     $('.selectpicker').selectpicker('refresh'); 
     }else{ 
     $(this).parents(".div_img_part-2").find(".selectpicker").attr("disabled",true); 
     $('.selectpicker').selectpicker('refresh'); 
    } 
    }); 
    }); 
</script> 

首先選擇 enter image description here

後選擇(編輯) enter image description here

注意: - 當用戶選擇複選框時,選擇框將在首次註冊時處於活動狀態。在Laravel我的所有數據都保存在會話,請幫我:(

回答

1

你需要運行這個曾經的頁面加載:

$(".check-box input[type='checkbox']").trigger("change"); 

所以複選框值將由頁面識別

+0

像魅力:) – kunal

相關問題