0

入力フィールドに値を挿入しようとしましたが、うまくいきませんでした。

$(document).ready(function () {
    $('.press').on('keyup', function () {
        $("input[id=result]").html(parseInt($('#inputone').val()) * parseInt($('#inputtwo').val()));
    });
});


<form id="myform">
    <input class="press" id="inputone" type="text"></input>
    <input class="press" id="inputtwo" type="text"></input>
    <input class="press" id="result" type="text"></input>
</form>
<div id="notform"></div>

セレクターとして何を試しても、フィールド ID の結果に入力することはできません。#result#myform #result:input#result"input[id=result]"nadaを試しました。しかし、フォームの外のdivに入れると問題ありません

http://jsfiddle.net/VfqRb/1/

4

2 に答える 2

1

入力要素の値を設定するには、 .html()ではなく.val()を使用する必要があります

$("#result").val(parseInt(($('#inputone').val()) || 0) * (parseInt($('#inputtwo').val()) || 0));

デモ:フィドル

于 2013-10-24T02:26:50.187 に答える
0

アルンの答えは正しいです。ただし、値を設定する前に検証を行うこともお勧めします。ユーザーは、そのボックスにいくつかの文字を入力しようとするか、0 を掛けようとするかもしれません (気にしないかもしれませんが、それでも)。

他に何もないとしても、次の行に沿って何かを提案します。

     $(document).ready(function () {
     $('.press').on('keyup', function () {

      if ( ($('#inputone').val().length > 0) && ($('#inputtwo').val().length > 0) ) {


               var firstInput = parseInt($('#inputone').val());
               var secondInput = parseInt($('#inputtwo').val());

               if (!isNaN(firstInput) && !isNaN(secondInput) ) 
               {

                     $("#result").val(firstInput * secondInput);

               }

               else

               {
                      alert("Eh, how about some real numbers?")
               }

     }

});

});
于 2013-10-24T02:34:39.120 に答える