将jQuery变量添加到字符串
我的代码已经完成了这一步,即在表单上将账单地址复制到发货地址: JQUERY将jQuery变量添加到字符串,jquery,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"); $("[
$("#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>
账单地址
地址1
地址2
城市
送货地址
如果发货地址和账单地址相同,请勾选此框。
地址1
地址2
城市
现在我需要用idsplit[0]
替换form1
的每个实例。我试过了,但总是失败。这样做的最佳方式是什么
为了进一步澄清,我的CMS正在将
form1
添加到我的输入ID中,因此无法删除。另外,如果它是页面上的第二个表单,那么它将是form2
,因此我需要从DOM中获取作为变量的值。我已经这样做了,现在我只需要将变量放入我的jQuery中,无论我在哪里form1
当前这就是我最终使用的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():'');
});
});
请提供相关的html样本。一个演示也会有助于解释这段代码的目的。我已经添加了html和一个解释,我希望这会有所帮助