我一直在寻找这个问题的答案,但找不到答案。我正在尝试将数字输入到html输入标记中,类型为“text”。然后,我需要放入该输入的值乘以2,并将答案显示在另一个输入中。
我的表看起来像这样。然后重复多次,并使用适当的表格标记关闭。
<table class="left-table" style="width:50%">
<th><u>Expense</u></th>
<th><u>Weekly</u></th>
<th><u>Fortnightly</u></th>
<th><u>Yearly</u></th>
<tr>
<td class="options">
<select class="expense-option">
<option>- Select Option -</option>
<option>Car Insurance</option>
<option>Car Loan</option>
<option>Car Park</option>
<option>Car Registration</option>
<option>Car Servicing</option>
<option>Clothes</option>
<option>Credit Card</option>
<option>Dining Out</option>
<option>Donation</option>
<option>Entertainment</option>
<option>Groceries</option>
<option>Health Insurance</option>
<option>Internet</option>
<option>Mobile Phone</option>
<option>Petrol</option>
<option>Rent / Mortgage</option>
<option>Spending / Pocket Money</option>
<option>Sport</option>
<option>Utilities</option>
</select>
</td>
<td><input class="amount" id="input10" type="text" placeholder="Weekly $"></td>
<td><input class="amount" id="output10" type="text" placeholder="Fortnightly $" readonly></td>
<td><input class="amount" id="output20" type="text" placeholder="Yearly $" readonly></td>
</tr>
我的JS是这样的:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$("#input10").keyup(function(){
var input1 = parseInt($("#input10").val());
if(!isNaN(input1)){
$("#output10").val(input1 * 2);
}
else{
$("#output10").val("");
alert("Please enter a valid number");
}
});
</script>
但仍然无效。
答案 0 :(得分:1)
$("#input1").keyup(function(){
var input1 = parseInt($("#input1").val());
if(!isNaN(input1)){
$("#output1").val(input1 * '2');
}
else{
$("#output1").val("");
alert("Please enter a valid number");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td><input class="amount" id="input1" type="text" placeholder="Weekly $"></td>
<td><input class="amount" id="output1" type="text" placeholder="Fortnightly $" readonly></td>
</tr>
</table>
$("#input1").keyup(function(){
var input1 = parseInt($("#input1").val());
if(!isNaN(input1)){
$("#output1").val(input1 * '2');
}
else{
$("#output1").val("");
alert("Please enter a valid number");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td><input class="amount" id="input1" type="text" placeholder="Weekly $"></td>
<td><input class="amount" id="output1" type="text" placeholder="Fortnightly $" readonly></td>
</tr>
</table>
你在第一行有一个拼写错误(也假设你有一个表结构:
<td><input class="amount" id="input1" type="text" placeholder="Weekly $"></td>
<td><input class="amount" id="output1" type="text" placeholder="Fortnightly $" readonly></td>
删除行中2周围的字符:
$("#output1").val(input1 * '2');
这使它成为一个字符串 你需要(为了保留一个可用于计算的数字:
$("#output1").val(input1 * 2);
更正的工作代码是(添加了表格结构):
<table>
<tr>
<td><input class="amount" id="input1" type="text" placeholder="Weekly $"></td>
<td><input class="amount" id="output1" type="text" placeholder="Fortnightly $" readonly></td>
</tr>
</table>
<script>
$("#input1").keyup(function(){
var input1 = parseInt($("#input1").val());
if(!isNaN(input1)){
$("#output1").val(input1 * 2);
}
else{
$("#output1").val("");
alert("Please enter a valid number");
}
});
</script>
答案 1 :(得分:0)
这里你已经将字符串解析为int
var input1 = parseInt($("#input1").val());
但是在附加该值时,您尝试使用字符串2进行多次处理,因为它包含在&#39;&#39;&#39; 。所以解决这个问题非常简单,你需要多个int值.ie。仅限2。
var result = input1 * 2 ;
$("#output1").val(result);