При изменении ng-модели значение должно быть изменено - PullRequest
0 голосов
/ 30 января 2019

У меня есть код ниже.

 <td class="minwd100">
                       <select class="form-control" id="invoice_id" name="invoice_id" ng-options="invoice as invoice.invoice_number+ ' - '+invoice.client_name+' - '+invoice.invoice_converted_total for invoice in approved_invoices track by invoice.invoice_id" ng-model="approved_invoices.invoice_id" ng-change="changeInvoice(approved_invoices.invoice_id)"></select>
                    </td>
                      <td class="minwd100"><input type="text" class="form-control" id="payment_amount" ng-model="payment_data.payment_amount.value" name="payment_amount" placeholder="Enter {{form_data.payment_amount.label}}" ng-focus="form_data.payment_amount.error = ''" /></td>
                      <td class="minwd100"><input type="text" class="form-control" id="payment_conversion" ng-model="payment_data.payment_conversion_rate.value" name="payment_conversion" placeholder="Enter {{form_data.payment_conversion_rate.label}}" ng-focus="form_data.payment_conversion_rate.error = ''" /></td>
                      <td class="minwd100"><input type="text" class="form-control" id="payment_converted_amount" ng-model="payment_data.payment_converted_amount.value" name="payment_converted_amount" placeholder="Enter {{form_data.payment_converted_amount.label}}" ng-focus="form_data.payment_converted_amount.error = ''" ng-readonly="true"/></td>
                      <td class="wd80">
                          <div class="dt-options">
                              <a href ng-if="$index === form.payments.length - 1" ng-click="addContact()" title="Add Contact"><i class="fa fa-plus fa-lg"></i></a>
                              <a href ng-if="form.payments.length > 1" ng-click="removeContact($index)" title="Remove Contact"><i class="fa fa-trash-o fa-lg"></i></a>
                          </div>
                      </td>

<script>

$scope.changeInvoice = function (selectedItem){
      $scope.payment_data.payment_amount.value = selectedItem.invoice_converted_total;
      $scope.payment_data.payment_conversion_rate.value = selectedItem.invoice_conversion_rate;
      $scope.payment_data.payment_converted_amount.value = selectedItem.invoice_converted_balance;
      $scope.client_id = selectedItem.client_id;
      $scope.payment_data.invoice_id.value = selectedItem.invoice_id;
    };

 $scope.addContact = function() {
        $scope.form.payments.push({invoice_id: '', payment_amount: '', payment_conversion: '', payment_converted_amount: ''});
    };
    $scope.removeContact = function(index) {
        $scope.form.payments.splice(index, 1);
    };

</script>

Для каждого изменения значение должно срабатывать для каждого входа, но теперь, когда я добавляю новую строку, она отражает само старое значение, пожалуйста, помогите.Я добавил изображение также, пожалуйста, сослаться на это.

enter image description here

1 Ответ

0 голосов
/ 30 января 2019

Какую коллекцию вы просматриваете?

"Для каждого изменения значение должно срабатывать для каждого входа, но теперь, когда я добавляю новую строку, она отражает само старое значение, пожалуйста, помогите. Я добавил изображение, также, пожалуйста, помните это."

Вы говорите, что когда вы меняете один ряд, меняется каждый ряд?Вот как я это понимаю.Я предполагаю, что все элементы в коллекции ссылаются на один и тот же объект, и вам нужно сослаться на конкретный элемент в коллекции.

Недавно я создал модель, в которой была форма, в которую можно добавить множествоассоциации, поэтому при добавлении новой формы в форму мне пришлось использовать уникальный ключ для ссылки на хеш.Т.е.:

$scope.addNewPartToAssembly = function(part) {
  $scope.form.assembly.assembly_parts[part.id] = {
    ...
  }
}

Я просто догадываюсь о вашей проблеме, потому что мне она кажется неполной, может быть, кто-то еще может решить ее с помощью того, что предоставлено.В любом случае, надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...