Angular.js: ng-model tidak diperbarui saat mengirim nilai ke bidang input

Dibuat pada 19 Agu 2015  ·  3Komentar  ·  Sumber: angular/angular.js

contoh: saya memiliki 3 bidang input. Nilai dari kolom input pertama dan kedua dihitung dan hasilnya ditampilkan di kotak input ketiga.

var1 = parseFloat($("#input1").val();
var2 = parseFloat($("#input2").val();
result = var1 + var2;

$("#input3").val(result);

<input type="number" id="input3" name="input3" ng-model="editForm.input3" ng-currency class="form-control input-sm" placeholder="input3">

saya dapat melihat hasilnya pada formulir di input3, tetapi bagaimana saya bisa memperbarui model?

Komentar yang paling membantu

coba ini-

$("#input3")
  .val(result)
  .trigger('change')

umumnya, Anda ingin memperbarui model yang terikat dengan input Anda (dan membiarkan sudut menyebarkannya ke tampilan) alih-alih memperbarui tampilan Anda secara langsung. yang terakhir biasanya hanya digunakan dalam tes unit.

Semua 3 komentar

coba ini-

$("#input3")
  .val(result)
  .trigger('change')

umumnya, Anda ingin memperbarui model yang terikat dengan input Anda (dan membiarkan sudut menyebarkannya ke tampilan) alih-alih memperbarui tampilan Anda secara langsung. yang terakhir biasanya hanya digunakan dalam tes unit.

Sebenarnya, ini tidak terasa seperti kode Angular. Di Angular, sebaliknya: Anda memperbarui model dan perubahannya tercermin dalam tampilan. (Model adalah satu-satunya sumber kebenaran.)

Jadi, alih-alih mencoba menetapkan nilai dan mengharapkan model diperbarui, Anda harus memperbarui model ( editForm.input3 ) dan sebagai hasilnya nilai elemen akan diperbarui.

Yang mengatakan, ini adalah pertanyaan dukungan umum dan harus diarahkan ke saluran yang sesuai .
Masalah GitHub dicadangkan untuk laporan bug dan permintaan fitur.

Ini berguna untuk integrasi typeahead + bloodhound saya dengan angularJS

Apakah halaman ini membantu?
0 / 5 - 0 peringkat