HTML文本输入*“值”;显示在不同的文本输入中

时间:2016-03-15 10:00:38

标签: javascript html input

我一直在寻找这个问题的答案,但找不到答案。我正在尝试将数字输入到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>

但仍然无效。

2 个答案:

答案 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);