2016-02-10 102 views
-1

我有這麼遠我的代碼,這是複製一個帳單地址,送貨地址在窗體上:jQuery的變量添加到字符串

JQUERY

$("#toshipping_checkbox").on("click",function(){ 
    var formid = $(this).closest("form").attr("id"); 
    var idsplit = formid.split('_'); 

    console.log(idsplit[0]); 

    var ship = $(this).is(":checked"); 
    $("[id^='form1_shipping_']").each(function(){ 
     var tmpID = this.id.split('form1_shipping_')[1]; 
     $(this).val(ship?$("#form1_"+tmpID).val():""); 
    }); 
}); 

HTML

<h2>Billing Address</h2> 
<div> 
    <label class="required" for="form1_address_1">Address 1</label> 
    <input id="form1_address_1" name="address_1" type="text" required="required" /> 

</div> 

<div> 
    <label for="form1_address_2">Address 2</label> 
    <input id="form1_address_2" name="address_2" type="text" /> 
</div> 

<div> 
    <label for="form1_city">City</label> 
    <input id="form1_city" name="city" type="text" /> 
</div> 

<h2>Shipping Address</h2> 
<label for="toshipping_checkbox">Tick this box if Shipping Address and Billing Address are the same.</label> 
    <input type="checkbox" id="toshipping_checkbox"> 
<div> 
    <label class="required" for="form1_shipping_address_1">Address 1</label> 
    <input id="form1_shipping_address_1" name="shipping_address_1" type="text" required="required" /> 

</div> 

<div> 
    <label for="form1_shipping_address_2">Address 2</label> 
    <input id="form1_shipping_address_2" name="shipping_address_2" type="text" /> 
</div> 

<div> 
    <label for="form1_shipping_city">City</label> 
    <input id="form1_shipping_city" name="shipping_city" type="text" /> 
</div> 

現在我需要用idsplit[0]替換form1的每個實例。我已經嘗試過,但一直在失敗。這樣做的最好方法是什麼?

有關更多說明,我的CMS將form1添加到我的輸入ID,因此無法刪除。另外,如果它是頁面上的第二個表單,它將是form2,所以我需要從DOM中獲取該值作爲變量。我已經這樣做了,現在我只需要得到可變進我的jQuery的地方我有form1目前

+0

請提供相關html樣本。演示會幫助解釋此代碼的用途 – charlietfl

+0

我已經添加了html和一個解釋,我希望這可以幫助 –

回答

0

這是我已經結束了使用JavaScript - 傳遞idsplit給一個變量

$("#toshipping_checkbox").on("click",function(){ 

    var formid = $(this).closest("form").attr("id"); 
    var idsplit = formid.split('_'); 
    var splitid =idsplit[0]; 
    var ship = $(this).is(":checked"); 

$('[id^="' + splitid + '_shipping_"]').each(function(){ 
    var tmpID = this.id.split(splitid + '_shipping_')[1]; 
    $(this).val(ship?$('#' + splitid + '_' + tmpID).val():''); 
}); 
});