当前位置: 首页 > 面试题库 >

AngularJS:仅当选中复选框时,才将一个输入框的值复制到另一个输入框

桓修能
2023-03-14
问题内容

我在购物车上工作,人们需要在同一页面上填写2个类似的表格。第一个表格是帐单地址,第二个表格是收货地址。两种形式都包含相似的输入元素,例如:

a)帐单邮寄地址:姓名,地址行1,地址行2,国家/地区,电话等。

b)送货地址:姓名,地址行1,地址行2,国家/地区,电话等。

有一个复选框,上面写着“检查账单地址和送货地址是否相同”。因此, 即使仅选中此复选框,
我也需要将数据从帐单地址复制到送货地址,即使用户在帐单地址中进行更改,它也应自动将更改复制到送货地址。

我需要使用Angular JS进行此操作。能不能请我告诉我该怎么做?

(编辑:我是Angular Js的新手,不知道从哪里开始)


问题答案:

您可以在表单中定义两个部分。一个用于送货地址,另一个用于帐单地址。在帐单地址中,添加相同地址的复选框。

然后,您需要处理以下情况

  • 如果选中此复选框,则将送货地址复制到帐单地址对象。
  • 如果选中此复选框,则禁用帐单地址的编辑。
  • 如果通过选中复选框修改了收货地址中的任何字段,则将其复制到帐单地址对象。

这是例子

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<!doctype html>

    <html lang="en">



    <head>

      <meta charset="UTF-8">

      <title>Example - example-example32-production</title>



    </head>



    <body ng-app="formExample">

      <div ng-controller="ExampleController">

        <form novalidate class="simple-form">

          <h3>Shipping Address</h3> Name:

          <input type="text" ng-model="sa.name" ng-change="sameAddress && update()" />

          <br /> Street:

          <input type="text" ng-model="sa.street" ng-change="sameAddress && update()" />

          <br /> City:

          <input type="text" ng-model="sa.city" ng-change="sameAddress && update()" />

          <br /> State:

          <input type="text" ng-model="sa.state" ng-change="sameAddress && update()" />

          <br /> Pin:

          <input type="text" ng-model="sa.pin" ng-change="sameAddress && update()" />

          <br /> Mobile:

          <input type="text" ng-model="sa.mobile" ng-change="sameAddress && update()" />

          <br />

          <br />



          <h3>Billing Address</h3> Name:

          <input type="text" ng-model="ba.name" ng-disabled="sameAddress" />

          <br /> Street:

          <input type="text" ng-model="ba.street" ng-disabled="sameAddress" />

          <br /> City:

          <input type="text" ng-model="ba.city" ng-disabled="sameAddress" />

          <br /> State:

          <input type="text" ng-model="ba.state" ng-disabled="sameAddress" />

          <br /> Pin:

          <input type="text" ng-model="ba.pin" ng-disabled="sameAddress" />

          <br /> Mobile:

          <input type="text" ng-model="ba.mobile" ng-disabled="sameAddress" />

          <br />

          <input type="checkbox" ng-model="sameAddress" ng-change="sameAddress && update()" />Same as Shipping Address Address

          <br />



        </form>



      </div>



      <script>

        angular.module('formExample', [])

          .controller('ExampleController', ['$scope', function($scope) {

            $scope.sa = {};

            $scope.ba = {};



            $scope.update = function(sa) {

              $scope.ba = angular.copy($scope.sa);

            };



          }]);

      </script>

    </body>



    </html>

这是 Plnkr



 类似资料:
  • 我在一个片段中有一个复选框列表(我们称之为FragmentA),我有一个包含两个片段(FragmentB和C)的活动。如果选中一个复选框,我想在片段C中显示一条消息,说明选中了特定的复选框。我需要帮助,因为我不知道如何将(isChecked)从片段A传递到片段C。 FragmentA.java 分数不影响碎片C。 包含片段 B 和 C 的活动 片段C 活动

  • 问题内容: 浏览器仅在提交表单时选中复选框输入值数据,这是浏览器的标准行为吗? 如果未提供任何值数据,默认值是否始终为“ on”? 假设以上内容正确,那么在所有浏览器中这种行为是否一致? 问题答案: 是的,标准行为是仅在选中复选框后才发送值。通常,这意味着您需要记住在服务器端期望使用的复选框的方式,因为并非所有数据都从表单返回。 默认值始终为“ on”,这在所有浏览器中都应保持一致。 W3C HT

  • 问题内容: 任何样式都会影响每个输入元素。有没有一种方法可以指定仅应用于复选框的样式,而无需将类应用于每个复选框元素? 问题答案: 使用CSS 2,您可以执行以下操作: 到目前为止,这应该得到广泛的支持。

  • 如何根据复选框结果插入数据库。 我有5间客房,用户可以预订超过1间。 我如何将数据插入到我的预订表中,只选择房间。 这是我一直在尝试的,但它只适用于第一个房间,我尝试过其他房间,但这也不起作用。 这基本上只是为了输入roomNo和该房间的详细信息,例如预订日期和时间。 谢谢 类型

  • 问题内容: 那么,如何只允许用户选择一个复选框呢? 我知道单选按钮是“理想的”,但出于我的目的……不是。 我有一个字段,用户需要选择两个选项中的一个或两个,但不能两个都选。问题是我还需要我的用户也可以取消选择他们的选项,这是单选按钮失败的地方,因为一旦选择了组,就必须选择一个选项。 我将通过php验证信息,但是我仍然想将用户限制在一个答案,如果他们想给它的话。 问题答案: 该代码段将: 允许像单选

  • 我在编程一个订单提交页面时遇到了一个相当大的问题,该页面的目的是提交一个订单的争议--提供两个字段被填写,但只有当一个字段少于另一个字段时。 基本上,一个是下拉,另一个是争端框,查询如下: 如果DispotestExtBox=“”而下拉框=“请选择...” 一切正常-提交按钮已启用 如果DisportestExtBox!=“”而下拉框=“请选择...” 错误(反之亦然,因此如果填充了Dispone