友人の自転車宅配便サービス用の php 連絡フォームを作成しています。基本的に、「配送先住所と請求先住所が同じ」ボックスがチェックされている場合、キーアップ イベントごとに 2 つのフィールド セットを同期させたいと考えています。
フォームは非常に単純です。
<!-- Get the shipping address inputs -->
<input type="text" name="company_address1" value="" id="company_address1">
<input type="text" name="company_city" value="" id="company_city">
<!-- Get the billing address inputs -->
<p>Same as above <input type="checkbox" name="dupe" id="dupe" value=""></p>
<input type="text" name="billing_address1" value="" id="billing_address1">
<input type="text" name="billing_city" value="" id="billing_city">
jQuery
$("input#dupe").click(function(){
if ($("input#dupe").is(':checked'))
{
// Checked, copy values
$("input#billing_address1").val($("input#company_address1").val());
$("input#billing_city").val($("input#company_city").val());
}
else
{
// Clear on uncheck
$("input#billing_address1").val("");
$("input#billing_city").val("");
}
});
$("input#company_address1").keyup(function(event) {
if ($("input#dupe").is(':checked')) {
var stt=$(this).val();
$("input#billing_address1").val(stt);
}
});
$("input#company_city").keyup(function(event) {
if ($("input#dupe").is(':checked')) {
var stt=$(this).val();
$("input#billing_city").val(stt);
}
});
$("input#billing_address1").keyup(function(event) {
if ($("input#dupe").is(':checked')) {
var stt=$(this).val();
$("input#company_address1").val(stt);
}
});
$("input#billing_city").keyup(function(event) {
if ($("input#dupe").is(':checked')) {
var stt=$(this).val();
$("input#company_city").val(stt);
}
});
最適化は私の長所の 1 つではありません。イベントを連鎖させる方法はありますか?