2014-02-06 45 views
0

我有一个难题我希望用户填写一个表单,它具有Owner信息字段集,当他们单击下一个按钮时,它们将显示Sales信息字段集有一个标记为Same as Owner的复选框因此,当用户单击该复选框时,Sales字段集中的值将自动填写“Owner字段集”中的信息。我确信在jQuery中这很容易,但我对它很陌生,无法确定它是如何完成的。下面我包含了我的代码。获取特定字段集中的所有值并将其设置为另一个字段集的值

销售信息:

<fieldset> 
    <legend>Sales Information</legend> 
     <p><label for="SalesFirstName">First Name</label> <input type="text" id="SalesFirstName" /></p> 
     <p><label for="SalesLastName">Last Name</label> <input type="text" id="SalesLastName" /></p> 
     <p><label for="SalesEmail">Email</label> <input type="text" id="SalesEmail" /><br /></p> 
     <p><label for="SalesPhone">Phone</label> <input type="text" id="SalesPhone" /></p> 
     <p><label for="SameAsOwner">Same as Owner</label><input id="SameAsOwner" name="SameAsOwner" type="checkbox" value="Yes"/></p> 

     <p class="navigation"><button class="button" type="button" onclick="prevForm('SalesInfo', 'OwnerInfo');">Previous</button>                        
         <button class="button" type="button" onclick="nextForm('SalesInfo', 'DetailedInfo');">Next</button></p> 
    </fieldset> 

<script> 
    $('#SameAsOwner').on('change', function(){ 
     if($(this).is(':checked')){ 
      alert('checked'); 
     } else { 
      alert('un-checked'); 
     } 
    }); 
</script> 

业主资料:

<fieldset> 
    <legend>Owner Information</legend> 
     <p><label for="OwnerFirstName">First Name</label> <input type="text" id="OwnerFirstName" /></p> 
     <p><label for="OwnerLastName">Last Name</label> <input type="text" id="OwnerLastName" /></p> 
     <p><label for="OwnerEmail">Email</label> <input type="text" id="OwnerEmail" /><br /></p> 
     <p><label for="OwnerPhone">Phone</label> <input type="text" id="OwnerPhone" /></p> 


     <p class="navigation"><button class="button" type="button" onclick="prevForm('OwnerInfo', 'DealerInfo');">Previous</button>                        
         <button class="button" type="button" onclick="nextForm('OwnerInfo', 'SalesInfo');">Next</button></p> 
    </fieldset> 

这些都是在单独的div的next and prev按钮只是隐藏和显示包含字段集的div上市。我有复选框on更改功能工作,但现在我需要从仅Owner字段获取数据,并将它们设置为Sales字段的值。

更新: 我得到的代码正常工作,我想知道是否有办法将它清理一下。

$('#SameAsOwner').on('change', function(){ 
     if($(this).is(':checked')){ 
      var Blank = ""; 
      var FirstName = $('#OwnerFirstName').val(); 
      var LastName = $('#OwnerLastName').val(); 
      var Phone = $('#OwnerPhone').val(); 
      var Email = $('#OwnerEmail').val(); 
      $("#SalesFirstName").val(FirstName); 
      $("#SalesLastName").val(LastName); 
      $("#SalesEmail").val(Email); 
      $("#SalesPhone").val(Phone); 
     } else { 
      $("#SalesFirstName").val(Blank); 
      $("#SalesLastName").val(Blank); 
      $("#SalesEmail").val(Blank); 
      $("#SalesPhone").val(Blank); 
     } 
    }); 

回答

1

可以在不使用的变量的意义上它清理干净,只是$("#SalesFirstName").val($('#OwnerFirstName').val());

另一种方法是,以限定通过它们匹配那个,然后就循环字段的数组/对象。

或者如果你想要表单域自己来决定填充哪个字段,你可以使用data-属性并在jquery中读取它。

相关问题