2016-10-21 18 views
0

私はチェクボックスをチェックした後に有効になるチェックボックスと入力フィールドを持っています。私がしたいのは、ユーザーがレコードを編集したいときに入力フィールドを既に有効にしておくことです。ユーザーがチェックボックスをチェックして入力を満たした後に、入力後にフィールドを変更する必要がある場合は、送信したことを意味します。私はJavaScriptで持っている何テキスト入力が空でないか確認してください

$(document).ready(function() { 
     $('.checkbox').change(function() { 
      $(this).parent().next().find('.field').prop('disabled', !$(this).is(':checked')) 
     }); 
    }); 

と拡張チェックボックス:

<div class="row"> 
     <div class="small-8 large-8 columns"> 
     <label>Process: <small style="color:red;">*</small>   
      <div class="multiselect">    
       <div class="selectBox" onclick="showCheckboxes()"> 
       <select onclick="showCheckboxes()"> 
        <option>-- Select an option --</option> 
       </select> 
       <div class="overSelect"></div> 
       </div> 
       <div class="scrollable" id="checkboxes"> 
       <?php 
        while ($row = mysqli_fetch_array($result)) 
        { 
         $row[0] = cleanOutputData($row[0]); 

         if(isset($process)) 
         { 
          foreach($process as $code) 
          { 
           if($row[0] == $code) 
           { 
            $match = 1; 
            break; 
           } 
           else 
            $match = 0; 
          } 
         } 
         if(isset($requiredNo) && isset($process)) 
         { 
          foreach($process as $key => $code) 
          { 
           if($row[0] == $code && $requiredNo[$key] != 0) 
           { 
            $match4 = 0; 
            break; 
           } 
           else 
            $match4 = 1; 
          } 
         }       
       ?> 
        <div class="row"> 
         <div class="small-12 large-12 columns"> 
         <label style="height: 37px; width:80%; float:left;" > 
         <input type='checkbox' class="checkbox" style="margin-left:5%; width:15%;" name='process[]' id=<?php echo $row[0] ?> value="<?php echo $row[0] ?>" <?php if (isset($process) && $match==1) echo 'checked="checked"' ?>/><?php echo $row[0] ?> 
         </label> 

         <label style="width:40%; margin-left:60%;"> 
         <input type="text" class="field" disabled style="width:40%;" name="numberpl" id="<?php echo $row[0] ?>" value= "<?php if (isset($requiredNo) && $match4==0) echo $requiredNo[$key] ?>" required/> 
         </label> 
         </div> 
        </div> 

       <?php 
        } 
        mysqli_free_result($result); 
       ?> 
       </div> 
      </div> 
     </label> 
     </div> 
    </div> 

そこで質問は、それが空でない場合、私は有効なフィールドを作ることができる方法ですか?あなたは完成負荷でチェックボックスをトリガするために試みることができる

if(document.getElementById('#yourinputid').value != ""){ 
    document.getElementById('#yourinputid').disabled = "false"; 
} 

答えて

0

は、これはあなたがJavaScriptでこの使用valueプロパティを行うことができ、

If($('input.field').val().length > 0){ 
     $('input.field').prop('disabled', false); 

} 
+0

'$(ドキュメント).ready()'メソッドでは、これを置いてください。 – Samir

0
if($('.field').val().length) { 
    $('.field').prop('disabled', false); 
} 
0

あなたを助けるかもしれない

$(document).ready(function() { 
     $('.checkbox').change(function() { 
      $(this).parent().next().find('.field').prop('disabled',!$(this).is(':checked')); 
     }); 
$('.checkbox').trigger('change'); 
}); 
0

sあなたが入力テキストの多くは、それ

$(document).ready(function() { 
    $('.checkbox').change(function() { 
     if ($(this)[0].checked == true) { 
      $(this).closest('.field').removeAttr('disabled'); 
     } else { 
      $(this).closest('.field').attr('disabled', 'disabled'); 
     } 
    }); 
}); 
0

使用この得るために最も近いが使用あるループしているインス:

$(document).ready(function() { 

      if($('input[name="numberpl"]').val().length() != 0){ 
       $('input[name="numberpl"]').attr('disabled', false); 
      } 
      $('.checkbox').change(function() { 
       $(this).parent().next().find('.field').prop('disabled', !$(this).is(':checked')) 
      }); 
     }); 
関連する問題