2012-03-03 11 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()を試してみましたが、いくつかの他、および

を試してみました0
$('#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

+0

heh、生のjsオブジェクトの 'this'を' $(this).value'は未定義を返します – NicoSantangelo

+0

ありがとう、フレデリック! :)それはうまくいきました。乾杯。 :) – unicornication

5

スパンに値がありません - 開始タグと終了タグの間に内容を設定するには.text()または.html()を使用してください。

はまた、それ以外の場合はしか選択の初期値が反映され、選択の値を取得し、changeコールバック関数内を稼ぐの値を計算することをお勧めします。

+0

ああのフィドルですが、私は以下を参照してくださいS - は、非常に多くのアンソニーありがとう:) – unicornication

関連する問題