2017-01-05 91 views
-2

我有一個包含多個複選框的表單,我希望在點擊編輯按鈕後根據數據庫中的值使用jquery檢查複選框?在此先感謝..使用jquery更新複選框ajax

這裏是視圖:

<form id="frmAddBand" name="frmAddBand" method="post" action="" onsubmit="return (checkc() == 1)"> 

      <fieldset> 

       <ol> 
        <li> 
         <label >Band Code <em>*</em></label> 
         <input id="bandCode" type="text" name="bandCode" /> 
         <span id="code_status" style="color:red;" ></span> 
        </li> 
        <li> 
         <label >Band Name<em>*</em></label> 
         <input id="bandName" type="text" name="bandName" /> 

        </li> 
        <li> 
         <label >Designation<em>*</em></label><br/><br/><div style="height:100px;background-color:#fff;overflow:auto;"><br/><?php $des_code = array_keys($designation); 
           $des_name = array_values($designation); 
          for($i=0;$i<count($des_code);$i++){?> 
         <input type="checkbox" name="des" id="des" value="<?php echo $des_code[$i];?>"/><span style="font-size:12px;"><?php echo $des_name[$i];?></span><br/><br/><?php }?> 
         </div> 
        </li> 

              <li class="required new"> 
              <input type="text" id="demo" name="demo" /> 
         <em>*</em> Required field      </li> 
             </ol>  


            <p><input id="click_submit" name="click_submit" Value="Save" type="button"> 
        <input id="click_cancel" name="click_cancel" Value="Cancel" type="button" >     
       </p> 

      </fieldset> 
     </form> 

控制器:

public function band_edit($id) 
      { 
      $this->load->helper('url'); 
      $this->load->database(); 
      $this->load->model('Ohs_Bandmodel'); 


      $data = $this->Ohs_Bandmodel->get_by_id($id); 
       echo json_encode($data); 
      } 

腳本:

function edit_band(id) 
        { 

         $("#frmAddBand")[0].reset(); 

         //Ajax Load data from ajax 
        $.ajax({ 
          url : "<?php echo base_url(); ?>index.php/Ohs_Cband/band_edit/" + id, 
          type: "GET", 
          dataType: "JSON", 
          success: function(data) 
          { 
        var b=data.desig; 
        var arr = b.split(","); 
        //alert(arr[1]); 
           for(i=0;i<arr.length;i++){ 
            $('input[type=checkbox]').each(function(){ 
             //alert(arr[i]); 
             if($(this).val()==arr[i]){ 
           $(this).prop('checked', true); 
           } 
           else{ 
            $(this).prop('checked', false); 
           } 
           }) 
           } 
           $('[name="bandCode"]').val(data.band_code); 
           $('[name="bandName"]').val(data.band_name); 

           $('[name="click_submit"]').val('Update'); 
           $('[name="bandCode"]').attr("readonly", true); 
           $('[name="bandCode"]').css('background-color' , '#DEDEDE'); 
           //$("#click_cancel").attr('visibility', 'visible'); 
           $('#click_cancel').show(); 
          }, 
          error: function() 
          { 
           //alert('Error get data from ajax'); 
           $('[name="bandCode"]').attr("readonly", false); 
           $('[name="bandCode"]').css('background-color' , '#FFF'); 
           $('[name="bandCode"]').removeAttr("disabled"); 
           $("#Notify").data("mtype","E"); 
           $("#Notify").data("msg","error in record.") 
           $('#Notify').trigger('click'); 
           //$("#click_cancel").attr('visibility', 'hidden'); 
          } 
         }); 
        } 

this is my form

當我點擊編輯重線所有工作正常,但不是檢查基礎上記錄數據2複選框,它會檢查只有1 checkbox.Any幫助將是appreciated.Thanks

+0

粘貼一些代碼 –

+0

你需要爲你已經有的表單和php添加你的代碼。你試過什麼,你遇到了什麼問題。你的問題很簡單,需要一些編輯。 – Option

+0

請在您的問題中格式化您的代碼,可以使用高亮代碼和CTRL + K完成,謝謝! – Alex

回答

0

要檢查/取消選中jQuery的複選框:

1 - 要檢查

$("yourCheckboxId").prop("checked",true); 

2 - 向取消

$("yourCheckboxId").prop("checked",false); 

只要在你的邏輯中使用這個代碼示例

+0

沒有基本上我有記錄,我想更新,所以當我點擊編輯記錄所有的數據應該在那裏的HTML形式。所以我希望複選框根據他們的價值檢查編輯點擊形式 –

+0

我有記錄數組,因此使用jquery我只想檢查其值在數組中的複選框.. –