0

私はこの単純なスクリプトを持っています。Vara*Varbを乗算してから、これに設定された番号(15など)を使用してVarCを乗算します。

しかし、それはうまくいかないようですか?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script>
$('input[name="box2"]').keyup(function() {
    var a = $('input[name="box1"]').val();
    var b = $(this).val();
    var c = $(15).val();
    $('input[name="box3"]').val(a * b * c);
});
​
</script>
</head>


<body>
<input name="box1" type="text" /><br />
<input name="box2" type="text" /><br />
<input name="box3" type="text" />
</body>
4

3 に答える 3

3

行うべきいくつかの変更:

var a = parseInt($('input[name="box1"]').val(), 10);
var b = parseInt($(this).val(), 10);
var c = 15; // really no need to try to build a dom element to get an int

基数()を指定せずにparseIntを使用しないように注意してくださいparseInt("09") is 0...

コードのもう1つの問題は、domの準備が整う前にjqueryコレクションをビルドしようとすることです。これを使って :

<script>
$(function(){
   $('input[name="box2"]').keyup(function() {
     var a = $('input[name="box1"]').val();
     var b = $(this).val();
     var c = $(15).val();
     $('input[name="box3"]').val(a * b * c);
   });
});
</script>

また、特に簡単にjQueryを使用する場合は、本文の最後にスクリプト要素を配置して、個別のファイルにないすべてのjavascriptを保持することもベストプラクティスであることに注意してください。

于 2012-11-21T09:31:39.833 に答える
1

var c = $(15).val();に変更var c=15;

于 2012-11-21T09:31:16.740 に答える
0

文字列からintへの値を解析する必要があります。

var a = parseInt($('input[name="box1"]').val());
于 2012-11-21T09:29:20.277 に答える