2012-03-03 162 views
1
我在此刻有点问题

:(我有一个简短的形式要求的金钱价值,再下面,有一个位,该位计算所选价格的20%jQuery的验证,并减去它从选定的价格,然后将其更新到空跨度标记更新HTML根据选择/选项值?

问题是,代码没有错(所有其他功能在同一个块中工作),但这完全没有,根本!

<select id="list"><option value="error">$-</option><option value="1">$1</option><option value="5">$5</option><option value="10">$10</option><option value="25">$25</option><option value="50">$50</option><option value="100">$100</option><option value="250">$250</option><option value="500">$500</option></select> 
$<span id="jsprice"></span> 
<script> 
    var price = $("#list :selected").val(); 
    var earning = price-((price/100)*20); 
    $('#list').change(function(){ 
    $('#jsprice').val(earning); 
    }); 
    </script> 

有谁知道这可能是问题呢?我想.blur() .change()和其他几个人,并试图

$('#jsprice').val() = earning; 

但我想这是完全错误的,看到来的.text()是如何工作的。

非常感谢!任何反应非常感谢:)

回答

3
$('#list').change(function(){ 
    var price = $(this).val(); 
    var earning = price-((price/100)*20); 
    $('#jsprice').text(earning); 
}); 

这应该这样做。

这里是它http://jsfiddle.net/JeW57/

+0

这是正确的,但我只想澄清,而不是'$(“#列表:选择” ).val();',你可以使用'this.value'。 – NicoSantangelo 2012-03-03 13:41:03

+0

呵呵,我把'this'当作原始js对象,'$(this).value'将返回undefined – NicoSantangelo 2012-03-03 13:44:10

+0

谢谢你,弗雷德里克! :)它运作良好。干杯。 :) – unicornication 2012-03-03 14:20:58

5

跨度没有值 - 使用.text().html()设置开始和结束标记之间的内容。

你也想获得选择的值,并计算收益change回调函数的值,否则将只反映了选择的初始值。

+0

阿的小提琴,我看到:S - 非常感谢你,安东尼:) – unicornication 2012-03-03 14:21:43