2017-09-02 75 views
0

我已經創建了一個功能,供用戶選擇一個時間段,並在選定時間的基礎上獲得折扣,但現在的問題是,當用戶選擇第一個,然後選擇第二個選項的數量不斷得到扣除,而不是從原來的價格重新計算,而不是減少價格檢查按鈕是否被點擊做別的什麼也不做什麼

這裏是我工作的代碼

$(document).ready(function(e) { 
 
\t $('.time-slot').on('click', function() { 
 
\t \t $('.time-slot').removeClass('active1'); 
 
\t \t $(this).addClass('active1'); 
 
\t \t 
 
\t \t var dt_time \t = $(this).attr('data-dt-time'); 
 
\t \t var time_off \t = $(this).attr('data-timeoff'); 
 
\t \t var cost \t \t = $('.price').val(); 
 
\t \t 
 
\t \t if(time_off !== undefined) { 
 
\t \t \t if($('.time-slot').hasClass('active1')) { 
 
\t \t \t \t var subtr \t = parseInt(cost)/100 * parseInt(time_off); 
 
\t \t \t \t var subtotal = parseInt(cost) - subtr; 
 
\t \t \t \t $('.price').val(subtotal); 
 
\t \t \t } else { 
 
\t \t \t \t var subtr \t = parseInt(cost)/100 * parseInt(time_off); 
 
\t \t \t \t var subtotal = parseInt(cost) + subtr; 
 
\t \t \t \t $('.price').val(subtotal); 
 
\t \t \t } 
 
\t \t } 
 
\t \t 
 
\t }); 
 
});
li { 
 
    cursor:pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<ul> 
 
<li class="time-slot" data-dt-time="08:00" data-timeoff="10">08:00</li> 
 
<li class="time-slot" data-dt-time="08:30" data-timeoff="15">08:30</li> 
 
<li class="time-slot" data-dt-time="09:00" data-timeoff="10">09:00</li> 
 
<li class="time-slot" data-dt-time="09:30" data-timeoff="20">09:30</li> 
 
<li class="time-slot" data-dt-time="10:00" data-timeoff="10">10:00</li> 
 
</ul> 
 

 
<input type="text" class="price" value="350" />

回答

1

我得到你的解決方案,你重寫價格類的價值。我在這裏使用了一個新的輸入類名稱originalPrice。我得到產地成本的價格從originalPrice並將其發送到價格和執行你的行動,你想要什麼

$(document).ready(function(e) { 
 
    $('.time-slot').on('click', function() { 
 
    $('.time-slot').removeClass('active1'); 
 
    $(this).addClass('active1'); 
 

 
    var dt_time = $(this).attr('data-dt-time'); 
 
    var time_off = $(this).attr('data-timeoff'); 
 
    var cost = $('.originalPrice').val(); 
 

 
    if (time_off !== undefined) { 
 
     if ($('.time-slot').hasClass('active1')) { 
 
     var subtr = parseInt(cost)/100 * parseInt(time_off); 
 
     var subtotal = parseInt(cost) - subtr; 
 
     $('.price').val(subtotal); 
 
     } else { 
 
     var subtr = parseInt(cost)/100 * parseInt(time_off); 
 
     var subtotal = parseInt(cost) + subtr; 
 
     $('.price').val(subtotal); 
 
     } 
 
    } 
 

 
    }); 
 
});
li { 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<ul> 
 
    <li class="time-slot" data-dt-time="08:00" data-timeoff="10">08:00</li> 
 
    <li class="time-slot" data-dt-time="08:30" data-timeoff="15">08:30</li> 
 
    <li class="time-slot" data-dt-time="09:00" data-timeoff="10">09:00</li> 
 
    <li class="time-slot" data-dt-time="09:30" data-timeoff="20">09:30</li> 
 
    <li class="time-slot" data-dt-time="10:00" data-timeoff="10">10:00</li> 
 
</ul> 
 

 
<input type="text" class="originalPrice" value="350" /> 
 
<input type="text" class="price" value="350" />

0

線後右

$(document).ready(function(e) { 

添加變量聲明

var cost = 350 

和使用,在你的計算,而不是直接從價格字段拿起成本。