0

I am not able to copy a value from one field into the next. I used typeahead in po num. If I select po num value from typeahead simultaneously the quantity value is autofilled, and the value for copied quantity needs to be copied from the quantity.
This is the link to ...my plunk...please help me on this issue.
For instance:- If I select po num as 1356 from drop-down, the quantity value is fetched automatically gives as 100. I want the copied quantity value to reflect the same as 100.

I've Added the code that I've used below. Please do have a look and let me know where I've made the mistake. I know it could be something insanely small as well, please do help. Thanks in advance

my plunk

Controller:-

    $scope.$watch('states.purchase_order_details_ord_no', function() {
    if($scope.state && $scope.states.purchase_order_details_ord_no && $scope.states.purchase_order_details_ord_no.getTotalsshadeqty) {
      $scope.copied = angular.copy($scope.states.purchase_order_details_ord_no.getTotalsshadeqty);
    } else {
      $scope.copied = null;
    }
  });

Html:-

    <div ng-repeat="states in states.pocomments">
       <label for="purchase_order_details_ord_no">po num</label>
          <input type="text" ng-model="states.purchase_order_details_ord_no" id="purchase_order_details_ord_no" typeahead="type as type.purchase_order_no for type in types | filter: $viewValue">
      <label for="quantity">quantity</label>
          <input type="text" id="supname" ng-model="states.purchase_order_details_ord_no" typeahead="type.getTotalsshadeqty  for type in types | filter: $viewValue">
      <label for="quantitycopy">Copied quantity</label>
          <input type="text" name="supnamecopy" id="supnamecopy" ng-model="copied">
  </div>

My data:-

    $scope.types = [
{
"_id": "5768e6c8bdbc5db509f0f2b2",
"created": "2016-06-21T07:03:36.504Z",
"getTotalsshadeqty": "100",
"getTotalsprice": "1000",
"getTotalsqtyprice": "100000",
"purchase_order_no": "1356",
},
{
"_id": "5767cd78f5012d790aa41a7b",
"created": "2016-06-20T11:03:20.382Z",
"getTotalsshadeqty": "12",
"getTotalsprice": "10",
"getTotalsqtyprice": "120",
"purchase_order_no": "0987",
}];

$scope.states = {
  "_id": "575691b26a5ec735128fe635",
  "pocomments": [
  {
  "_id": "575691d56a5ec735128fe636",
  "po_value_currency": "Rs",
  "value": "124",
  "rate": "24",
  "quantity": "",
  "purchase_order_details_ord_no": ""
  },
  ]

1 Answer 1

2

ng-repeat creates an isolated scope for the children created.

You need to add a $parent to the accessor of your model-properties if you want to change properties outside of the isolated scope.

Eg. ng-model="$parent.states.purchase_order_details_ord_no"

Additionally inside your watch-expression you mistyped states (you checked for state).

Fork that should work as expected: http://plnkr.co/edit/QAgJZToxkqvtg7pFSseO?p=preview

Sign up to request clarification or add additional context in comments.

1 Comment

this is part of a form data, if i use $parent, the data is not getting saved.. i am using MEANJS

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.