我有一个问题 - 当我完成两个字段(输入 1 和输入 2)并尝试更改其中一个时,jQuery 返回 NaN 。有人能帮助我吗?
我尝试使用 parseInt、parseFloat 但它仍然不起作用
对不起我的英语不好:]
js:
$(document).ready(function(){
$('input[name^="input"]').keypress(function(event) {
if(event.which && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
var $tabs = $('input[name^="tab"]');
$.each($tabs, function(i, a) { $(a).val(''); });
$('input[name^="input"]').keyup(function() {
var count = parseInt($(this).val());
if($(this).attr('name') == 'input1') {
var newValue = count * parseFloat($('input[name="tab1_hidden"]').val());
$('input[name="tab1"]').val(newValue);
}
if($(this).attr('name') == 'input2') {
$.each($tabs, function(i, a) {
if(i > 0) {
var inputHidden = $(a).attr('name') + '_hidden';
var newValue = count * parseFloat($('input[name="' + inputHidden + '"]').val());
$(a).val(newValue);
}
});
}
});
});
HTML:
<form action="" method="post"><div>
<p>input 1: <input type="text" name="input1" value=""></p>
<p> <input type="hidden" name="input1_hidden" value=""></p>
<p>input 2: <input type="text" name="input2" value=""></p>
<p> <input type="hidden" name="input2_hidden" value=""></p>
<p> </p>
<p>tab 1: <input type="text" name="tab1" value=""></p>
<p><input type="hidden" name="tab1_hidden" value="10"></p>
<p>tab 2: <input type="text" name="tab2" value=""></p>
<p> <input type="hidden" name="tab2_hidden" value="20"></p>
<p>tab 3: <input type="text" name="tab3" value=""></p>
<p> <input type="hidden" name="tab3_hidden" value="30"></p>
<p>tab 4: <input type="text" name="tab4" value=""></p>
<p> <input type="hidden" name="tab4_hidden" value="40"></p>
<p>tab 5: <input type="text" name="tab5" value=""></p>
<p> <input type="hidden" name="tab5_hidden" value="50"></p>
<p>tab 6: <input type="text" name="tab6" value=""></p>
<p> <input type="hidden" name="tab6_hidden" value="60"></p>
<p>tab 7: <input type="text" name="tab7" value=""></p>
<p> <input type="hidden" name="tab7_hidden" value="70"></p>
<p>tab 8: <input type="text" name="tab8" value=""></p>
<p> <input type="hidden" name="tab8_hidden" value="80"></p>
</div>
</form>