【问题标题】:Trouble filling Multiple Textbox values from other Textboxes when Checkbox is Clicked单击复选框时无法从其他文本框填充多个文本框值
【发布时间】:2013-02-25 06:42:52
【问题描述】:

我进行了搜索,但找不到任何可以帮助我弄清楚我的特定问题的东西。我有一个客户地址的文本框,一个公司地址的文本框,以及一个用于标记地址是否应该相同的复选框。我需要获取复选框以在点击时使用客户地址填写公司地址,并在点击时取消填写。我尝试使用 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 中起作用)

【问题讨论】:

  • 尝试在jsfiddle.net 上设置(简化版本)您的代码并在此处发布链接,以便人们可以查看它(不起作用)。

标签: javascript jquery html


【解决方案1】:

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

您的代码引用了biz_city,但元素的id 是biz_cty_box

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

$("#same_box").change(function (e) {
    if ($(this).is(":checked")) {
        .
        .
        .
    }
}

【讨论】:

  • 天哪,我觉得自己非常愚蠢,谢谢 rjmunro!一个模组应该删除这个:X
猜你喜欢
  • 2022-01-02
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2018-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多