2014-02-06 95 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中讀取它。

相關問題