0

我进行了搜索,但找不到任何可以帮助我弄清楚我的特定问题的东西。我有一个客户地址的文本框,一个公司地址的文本框,以及一个用于标记地址是否应该相同的复选框。我需要获取复选框以在点击时使用客户地址填写公司地址,并在点击时取消填写。我尝试使用 jquery 和直接 javascript DOM 操作的几种不同方法,我最成功的是在下面的代码中,它只用 cust_street 值填充 biz_street 文本框,我不明白为什么。一些帮助将不胜感激,无论是在 jquery 还是直接的 javascript 中,都不能使用 php(可悲)。

这是在 jsfiddle 上(如 rjmunro 所建议,好主意:)):http: //jsfiddle.net/yN73w/1/根本不工作

这是jQuery:

$("#same_box").click(function () {
var v = $("#cust_street").val();
var x = $("#cust_city").val();
var y = $("#cust_state").val();
var z = $("#cust_zip").val();

$("#biz_street").val(v);
$("#biz_city").val(x);
$("#biz_state").val(y);
$("#biz_zip").val(z);
});

或者更简单地说:

$("#same_box").click(function () {
$("#biz_street").val($("#cust_street").val());
$("#biz_city").val($("#cust_city").val());
$("#biz_state").val($("#cust_state").val());
$("#biz_zip").val($("#cust_zip").val());
});

和 HTML:

    <label id="cus_street_label">Street</label></br>
    <input type="text" name="cust_street" id="cust_street" style="width:90%" /></br>

<div id="cus_city">
    <label id="cus_city_label">City</label></br>
    <input type="text" name="cust_city" id="cust_city" style="width:100%" /></br>
</div>
<div id="cus_state">
    <label id="cus_state_label">State</label></br>
    <input type="text" name="cust_state" id="cust_state" style="width:70%" /></br>
</div>
<div id="cus_zip">
    <label id="cus_zip_label">Zip</label></br>
    <input type="text" name="cust_zip" id="cust_zip" style="width:65%" /></br>
</div>

    <input type="checkbox" name="same_box" id="same_box" >Address Same as Customer</input></br>

<label id="biz_street_label">Street</label></br>
<input type="text" name="biz_street" id="biz_street" style="width:90%" /></br>

<div id="biz_city">
     <label id="biz_city_label">City</label></br>
     <input type="text" name="biz_city_box" id="biz_city_box" style="width:100%" /></br>
</div>
<div id="biz_state">
    <label id="biz_state_label">State</label></br>
    <input type="text" name="biz_state_box" id="biz_state_box" style="width:70%" /></br>
</div>
<div id="biz_zip">
    <label id="biz_zip_label">Zip</label></br>
    <input type="text" name="biz_zip_box" id="biz_zip_box" style="width:80%" /></br>
</div>

非常感谢您的帮助,如果我在搜索中错过了这样的主题,我深表歉意。

(另外,不相关,但为什么function formReset() { document.getElementById("customer").reset(); }在 Firefox 中不起作用?它似乎只在 chrome 中起作用)

4

1 回答 1

0

(你需要在你的 JSFiddle 中选择 jQuery,比如http://jsfiddle.net/7HGNx/

您的代码是指,biz_city但元素的 id 是biz_cty_box.

您可能不想附加到单击,您可能想听更改事件,因为当没有鼠标更改选项时,这将触发。我还会检查更改是否已勾选框,而不是取消勾选框。

$("#same_box").change(function (e) {
    if ($(this).is(":checked")) {
        .
        .
        .
    }
}
于 2013-02-24T22:33:43.393 回答