0

ボタンとhrefからの2つの入力を合計したい。これは私が持っているコードです

これはHTMLコードです

  <a id="add1" class="thumbnail"  alt="100000" href="">one</a>
    <br>
  <a id="add1" class="thumbnail"  alt="150000" href="">two</a>
    <br>
  <a id="add1" class="thumbnail"  alt="90000" href="">theree</a>

<hr>
<hr>
<input class="add2" type="radio" value="1" alt="100000" name="material">
LACE
<br>
<input class="add2" type="radio" value="2" alt="200000" name="material">
LACE - LEATHER
<br>
<input class="add2" type="radio" value="3" alt="150000" name="material">
LACE - SUEDE
<br>
<hr>
<hr>
<img src="" alt="0" id="mainImage" class="pret">
<div id="cau"  alt="0"class="pret"></div>
<div id="usertotal"> PRICE  :  IDR  0</div>

これはJクエリです

<script type="text/javascript">
    $(document).ready(function() {
        $('.thumbnail').live("click", function() {
            var g = $(this).attr('alt');
            var e = $(this).attr('href');
            calculateSum();
            $('#mainImage').hide();
            $('#mainImage').html('<img class="pret" alt="'+g+'" src="'+e+'">').fadeIn();
            return false; 
        });

        $('.add2:checked').change(function(){ 
            var m = $(this).attr('alt');
            var a = $(this).attr('value');
            alert(m);
            calculateSum();
            $('#cau').hide();
            $('#cau').html('<div name="'+a+'" class="pret" alt="'+m+'"></div>').fadeIn();
            return false; 
        });

    });
    function calculateSum() {
        var sum = 0;
        $(".pret").each(function() {
            sum += parseFloat($(this).attr('alt'));
        });
        $('#usertotal').html('PRICE : IDR  '+ sum);
    }
</script>

問題は、なぜ私のコードの実行が遅いのですか? 合計するには 2 回クリックする必要がありますか? ワンクリックで実行したい。

答えてくれてありがとう:)よろしく

4

1 に答える 1

1

あなたのコードには多くの問題があるので、実際に何が問題を引き起こしているのかわかりません。

まず、alt 属性と class 属性の間にスペースが必要です。

<div id="cau" alt="0" class="pret"></div>

第二に:

$('#mainImage').html('<img class="pret" alt="'+g+'" src="'+e+'">').fadeIn();

html をイメージ要素の「内部」に配置することはできないため、これは正しく機能しないはずです (結局#mainImage<img />要素です)。

第三に:

$('.add2:checked').change(function(){

.add2ページの読み込み時にチェックされるクラスを持つ要素がないため、投稿したコードには何も影響しません。したがって、このハンドラーは何もしません。

于 2013-03-06T17:16:01.230 に答える