์: 3๊ฐ์ ์ ๋ ฅ ํ๋๊ฐ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋ฐ ๋ ๋ฒ์งธ ์ ๋ ฅ ํ๋์ ๊ฐ์ด ๊ณ์ฐ๋๊ณ ๊ฒฐ๊ณผ๊ฐ ์ธ ๋ฒ์งธ ์ ๋ ฅ ์์์ ํ์๋ฉ๋๋ค.
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">
input3์ ์์์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ง๋ง ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
์ด ์๋-
$("#input3")
.val(result)
.trigger('change')
์ผ๋ฐ์ ์ผ๋ก ๋ทฐ๋ฅผ ์ง์ ์ ๋ฐ์ดํธํ๋ ๋์ ์ ๋ ฅ์ด ๋ฐ์ธ๋ฉ๋ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๊ณ ๊ฐ๋๊ฐ ๋ทฐ์ ์ ๋ฌํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค. ํ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋จ์ ํ ์คํธ์์๋ง ์ฌ์ฉ๋ฉ๋๋ค.
์ฌ์ค ์ด๊ฒ์ Angular ์ฝ๋์ฒ๋ผ ๋๊ปด์ง์ง ์์ต๋๋ค. Angular์์๋ ๊ทธ ๋ฐ๋์ ๋๋ค. ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ด ๋ทฐ์ ๋ฐ์๋ฉ๋๋ค. (๋ชจ๋ธ์ ์ง์ค์ ๋จ์ผ ์์ค์ ๋๋ค.)
๋ฐ๋ผ์ ๊ฐ์ ์ค์ ํ๊ณ ๋ชจ๋ธ์ด ์
๋ฐ์ดํธ๋๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ ๋์ ๋ชจ๋ธ( editForm.input3
)์ ์
๋ฐ์ดํธํด์ผ ํ๋ฉฐ ๊ฒฐ๊ณผ์ ์ผ๋ก ์์์ ๊ฐ์ด ์
๋ฐ์ดํธ๋ฉ๋๋ค.
์ฆ, ์ด๊ฒ์ ์ผ๋ฐ์ ์ธ ์ง์ ์ง๋ฌธ์ด๋ฉฐ ์ ์ ํ ์ฑ๋๋ก ์๋ด ํด์ผ ํฉ๋๋ค.
GitHub ๋ฌธ์ ๋ ๋ฒ๊ทธ ๋ณด๊ณ ์ ๋ฐ ๊ธฐ๋ฅ ์์ฒญ์ ์ํด ์์ฝ๋์ด ์์ต๋๋ค.
์ด๊ฒ์ angularJS์ typeahead + bloodhound ํตํฉ์ ํธ๋ฆฌํ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ์๋-
์ผ๋ฐ์ ์ผ๋ก ๋ทฐ๋ฅผ ์ง์ ์ ๋ฐ์ดํธํ๋ ๋์ ์ ๋ ฅ์ด ๋ฐ์ธ๋ฉ๋ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๊ณ ๊ฐ๋๊ฐ ๋ทฐ์ ์ ๋ฌํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค. ํ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋จ์ ํ ์คํธ์์๋ง ์ฌ์ฉ๋ฉ๋๋ค.