2017-01-04 1 views
1

Добрый день, я пытаюсь очистить форму, зависит от checkbox changes. Он отлично работает с clear form. Но пробный мой флажок не проверен. Любое решение с этим? спасибо заранее и извините за мой плохой английский.Флажок не отмечен

$(document).ready(function() { 
 

 
    $("#general").change(function() { 
 
    $('.form-horizontal').trigger("reset"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<fieldset class="group-border"> 
 
    <legend class="group-border">Form</legend> 
 
    <form class="form-horizontal" method="post"> 
 
    <div class="form-group"> 
 
     <label class="col-sm-3 control-label">Transaction No</label> 
 
     <div class="col-sm-6"> 
 
     <input type="text" readonly required autocomplete="off" name="shippingno" id="shippingdoc" class="form-control" /> 
 
     </div> 
 
     <div class="checkbox"> 
 
     <label> 
 
      <input id="general" type="checkbox">General 
 
     </label> 
 
     </div> 
 
    </div> 
 

 
    <div class="form-group"> 
 
     <label class="col-sm-3 control-label">Reference</label> 
 
     <div class="col-sm-6"> 
 
     <input type="text" required autocomplete="off" name="shippingno" id="shippingdoc" class="form-control" /> 
 
     </div> 
 
     <button class="btn btn-submit" id="reference" type="button">...</button> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label class="col-sm-3 control-label">Document No</label> 
 
     <div class="col-sm-6"> 
 
     <input type="text" required autocomplete="off" name="docno" class="form-control" /> 
 
     </div> 
 
    </div> 
 

 
    </form> 
 
</fieldset>

+1

Поскольку ваш флажок находится внутри формы, я предполагаю, что когда вы его проверите, он также будет сброшен. – choz

+0

@choz, возможно, мне нужно создать скрытое поле, которое сохраняет значение флажка? – YVS1102

+2

Почему он будет проверяться, если вы сбросите форму? – charlietfl

ответ

3

Одним из способов достижения этой цели, вы можете также установить значение обратно после сброса формы.

$(function() { 
    $("#general").on('change', function() { 
     var $cb = $(this), 
      isChecked = $cb.prop('checked'); 

     $('.form-horizontal').trigger("reset"); 

     $cb.prop('checked', isChecked); 
    }) 
}) 
+0

это работает спасибо. поэтому мне нужно сначала установить значение флажка в переменной, верно? – YVS1102

+0

@ YVS1102 Да. Там много способов, это всего лишь один из них. – choz