2016-04-24 4 views
1

Ich versuche, ein schnelles Programm zu erstellen, das die Zahl automatisch verdoppelt, die in dem Textfeld eingegeben wird.

Mein Problem ist, dass nichts passiert, wenn ich eine Zahl in das Textfeld eingib.

Was ich möchte, ist die Zahl, die in das Textfeld eingegeben wird und automatisch die Anzahl verdoppelt in dem angrenzenden Textfeld.

Frage
Was muß ich in meinem Code so ändern, dass das Doppelte der Zahl automatisch in dem zweiten Textfeld auffüllt eingegeben?Auto-Double-Anwendung


-Code Ich versuchte
PHP/HTML

<body> 
<form id="Form1" runat="server"> 
<div id="Form1" runat="server"> 
    <table id="table1" border="1"> 
    <tr> 
     <td> 
     <input type="text" id="txt_number1" name="txtnumber1input" value="0" maxlength="10" size="3"> 
     </td> 
     <td> 
     <input type="text" id="txt_number1_doubled" name="txtnumber1doubled" value="0" maxlength="10" size="3" readonly> 
     </td> 
    </tr> 
    <tr> 
     <td> 
     <input type="text" id="txt_number2" name="txtnumber2input" value="0" maxlength="10" size="3"> 
     </td> 
     <td> 
     <input type="text" id="txt_number2_doubled" name="txtnumber2doubled" value="0" maxlength="10" size="3" readonly> 
     </td> 
    </tr> 
    </table> 
</div> 
</form> 
</body> 



JS

 function DoMath(el) { 
    var id = el.attr("id").replace("txt_", ""); 
    var lbltext = document.getElementById($("#txt_" + id)).innerHTML*2; 
    window.alert(lbltext); 
} 
$("#txt_number1, txt_number2").on("keyup", function() { 
    DoMath($(this)); 
}); 
+0

und die Frage wäre? –

+0

Können Sie jQuery verwenden? –

+0

@PedroLobito - Ja, ich kann JQuery verwenden – CGS

Antwort

0

Sie haben einige Fehler gemacht mit selec ting von Elementen

function DoMath(el) { 
id = el.attr('id')+"_doubled"; 
$("#"+id).val(el.val()*2); 
} 

$("#txt_number1, #txt_number2").on("keyup", function() { DoMath($(this)); }); 
0

Die jQuery Weg:

function DoMath(el) { 
    // Fetch the value in the initial textbox 
    var initial_value = el.val(); 
    // Find the id of the second textbox based on the first one 
    var textboxname = el.attr('id') + '_doubled'; 
    //Do the maths and output it in the second textbox 
    $('#' + textboxname).val(initial_value * 2); 

} 
$("#txt_number1, #txt_number2").on("keyup", function() { 
    DoMath($(this)); 
}); 

hier ein jsfiddle für Sie zu Test:

0

Sie sagten, Sie jQuery, ist eine Lösung, die hier verwendet werden könnte:

$('#txt_number1').change(function(e) { 
 
    $('#txt_number2').val($('#txt_number1').val()* 2); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="number" id="txt_number1" name="txtnumber1input" value="0" maxlength="10" size="3"> 
 
<input type="number" id="txt_number2" name="txtnumber1input" value="0" maxlength="10" size="3">

+0

Autor möchte double-Wert dort schreiben - ID = "txt_number2_doubled" – splash58

+0

Ich denke, er kann die Eingabe-ID ändern –