2

キーを押すたびにテキストボックスの値を更新する方法はありますか?

通貨換算を行っています。そのため、2 つのテキストボックスがあり、1 つはユーザーが値を入力するためのもので、もう 1 つはキーを押すたびに変換された金額を自動的に表示するものです。

for ループを使用する必要がありますか? しかし、何をループすればよいのでしょうか?

次の for ループのテキスト ボックスは、個々の行の変換を実行できる必要があります。

<% for(int i=0; i<2; i++) { %>
 <td><input type="text" id= "amount" name="amount<%=i%>" /></td>

 <td><input type="text" id= "convertedAmount" name="convertedAmount<%=i%>" readonly/></td>
<%}%>

このタスクを試みるにはどうすればよいですか?

可能な限りの助けを前もって感謝します。

4

2 に答える 2

5

onkeyupあなたのタスクに最適です:

Type amount $: <input type='text' id='amount' onkeyup="updateConverted()" >
<br>
Converted: <input type='text' id='converted' >

JavaScript 関数:

function updateConverted() {
    var conversionRate = 1.5;
    document.getElementById('converted').value =
                       document.getElementById('amount').value * conversionRate;
}

ここでデモ


更新 (JSPforループ):

ループの場合for、次の jQuery コードを使用できます (HTML を変更する必要はありません)。

$('input[name=amount]').each(function (_, value) {
    $(value).keyup(function () {
        var rate = 1.5;
        var convAmount = $(this).val() * rate;
        $(this).parent().next().children('input[name=convertedAmount]').val(convAmount);
    });
});

ここでデモを参照してください

注: for ループが重複した ID を生成しています。無効な HTML であるため、可能であれば避けてください。

于 2013-06-14T03:06:40.600 に答える
2

jQuery を使用した簡単な方法:

<input type="text" name="t1" id="t1" value="" onkeypress="calculation()" />

<input type="text" name="converted" id="converted" value="" />

<script>
function calculation() {
   var price = 'here is your formula';
   $('#converted').val(price);
}
</script>
于 2013-06-14T03:05:26.730 に答える