我有一个文档,当用户在一个输入中输入内容时,我需要在第二个输入框中显示一个响应。我可以得到用户给定的值,我可以处理它,但是当我尝试设置第二个输入框的结果时,我得到错误$ .field为null。这是代码:
$('places').addEvent('keyup', function(){
var places = $('places').value;
alert("PLACE: "+places);
var price = values[places];
var nights = $('nights').value.toInt();
alert("NIGHTS: "+nights);
var total = price * nights;
alert("TOTAL: "+total);
$('pricepernight').set('text', total);
$('pricetotal').set('text', total - ((total / 100) * 21));
});
所以我得到了地方价值。我把这个地方的价格从一个关联数组中拉出来。然后我按照用户的夜晚数量将该价格加倍,这就是我的总金额。这是我无法设定的金额。请注意,警报显示正确的金额。
,html看起来像这样
<div class='block'>
<input type="text" id="places" />
</div>
<div class='block'>
<label for="nachten">Aantal nachten</label>
<input type="text" id="nights" />
</div>
<div class='block long'>
<span class='label'>Prijs per slaapplaats per nacht</span>
<input type="text" class='resultfield' id='pricepernight' />
</div>
<div class='block last'>
<span class='label'>Totaalprijs excl. btw</span>
<input type="text" class='resultfield' id='pricetotal'/>
</div>
Firebug回应:
String contains an invalid character
[Break On This Error]
...x:\'4W\',3X:18.1l,al:18.1l,1Q:18.1l,as:18.1l,8S:18.1l,1F:O,3E:{x:\'1u\',y:\'1o\'...
任何人的想法/建议?先感谢您!
答案 0 :(得分:3)
右。你似乎使用了mootools和jquery代码的混合。
$('nights').addEvent('keyup', function(){
var places = $('places').value;
var price = values[places];
var nights = $('nights').value;
var total = price * nights;
alert(total);
$('#pricepernight').val(total);
//$('#pricetotal').val(total - ((total / 100) * 21));
});
在mootools 1.2+中,这应该是:
$('nights').addEvent('keyup', function(){
var places = $('places').get('value');
var price = values[places];
var nights = $('nights').get('value');
var total = price * nights;
alert(total);
$('pricepernight').set('value', total);
//$('#pricetotal').val(total - ((total / 100) * 21));
});
有一个隐含的全局数组值。此外,这不是很安全,因为夜晚可能不是整数。
重点是。 #id
- &gt; id
和.val()
- &gt; set('value', 'newvalue')
- 或.get('value')
答案 1 :(得分:0)
试试这个
$('#nights').keyup(function(){
var places = $('#places').val();
var price = values[places];
var nights = $('#nights').val();
var total = parseInt(price) * parseInt(nights);
alert(total);
$('#pricepernight').val(total);
//$('#pricetotal').val(total - ((total / 100) * 21));
});
什么是values[places]
?
答案 2 :(得分:0)
这里有一些小错误。
首先,您应该根据您的ID属性使用#符号进行选择 喜欢的地方和夜晚
其次,使用val()来读取html控件的值 比价值