我有一個三個輸入的表單。我希望能夠填寫兩個字段並自動填寫第三個字段。輸入兩個輸入,填入第三個
所以,它應該像這樣工作:
- 我填寫的第一,第二,第三被計算
- 我填寫的第一個和最後一個,第二個被計算
- 我填寫第二和最後一個,第一個被計算
我想出了這個代碼:
$(document).on('keyup change', '[data-calc]', function() {
\t var a = $('[data-calc=a]') ,
\t \t aV = a.val() ,
b = $('[data-calc=b]') ,
bV = b.val() ,
c = $('[data-calc=c]') ,
cV = c.val();
if(aV.length != 0 && bV.length != 0) {
\t cV = parseInt(aV) + parseInt(bV);
\t c.val(cV).prop('disabled',true);
}
else if(aV.length != 0 && cV.length != 0) {
\t bV = parseInt(cV) - parseInt(aV);
\t b.val(bV).prop('disabled',true);
}
else if(bV.length != 0 && cV.length != 0) {
\t aV = parseInt(cV) - parseInt(bV);
\t a.val(aV).prop('disabled',true);
}
else {
\t $('[data-calc]').prop('disabled',false);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" data-calc="a" /><br />
+<br />
<input type="text" data-calc="b" /><br />
=<br />
<input type="text" data-calc="c" />
現在工作正常,當我填寫第一個和第二個領域。
但是,如果我填寫第一個,之後的第三個,第三個字段被禁用。
任何想法?
'b.val(BV).prop(」禁用',true);'會禁用第二個輸入...你想禁用哪個域? – Rayon
我想這是應該如何... https://jsfiddle.net/7bz3jz2z/ – Rayon
雙重綁定是問題。我的答案詳情:-) –