2016-03-21 24 views
0

嗨,大家好,基本上我正在嘗試在我建立的nutrtion標籤中添加數據。因此,標籤它自身具有的一切來自於脂肪,碳水化合物,蛋白質等。現在我已經建立了一個數據庫:Javascript,不能減去數值

ingName: .... 
fat: ... 
carbs ... etc 

所以現在我只是想獲得它爲脂肪工作。一旦我這樣做,我可以輕鬆地做到其他人。我可以輕鬆搜索數據庫。當用戶按下添加按鈕時,它會在搜索框下面添加成分,然後更改脂肪的內容。不過,我現在有一個主要問題。

當用戶點擊紅十字會刪除元素我想它減去標籤的脂肪。因此,如果用戶添加1個脂肪的蘋果,然後添加4個脂肪的香蕉。然後用戶決定刪除蘋果,它應該從5脂肪回到4脂肪。

+0

「...它應該回到5發4發」 - 在它回去到底是什麼?你可以發佈HTML嗎? – rby

+0

@rby它只是簡單的數學,所以我可以添加脂肪的內容很好,但我不能帶走,你看到這個例子; https://juicerecipes.com/build/如何添加內容,如果不滿意,請點擊十字架並擺脫它? – Nevershow2016

+0

這是關於我的最後一個功能:$('。selectedStuff span')。on(「click」,function(){ – Nevershow2016

回答

1

您似乎是在每個新的跨度中存儲新的脂肪計數器,所以如果您添加價值5的蘋果,那麼您將跨度爲5的數據,然後將其添加到您的current_fat計數器,並且下一次添加另一個時項目該項目的數據現在是累積的。我在這fiddle中創建了一些代碼。它似乎按照你現在描述的方式工作。

我知道我說的話可能會讓人困惑,所以看看fiddle

  • 如果添加了價值500
  • 然後加價值500
  • 香蕉再加入綠豆身價5

你正在服用的5從蘋果,並把那些5點到這個蘋果名爲current_fat的變量,然後添加香蕉的點值,然後添加綠豆的點值,所以最終得到的結果是蘋果爲5,香蕉爲10,綠豆爲15,所以當你移除綠色所有的脂肪都會下降到零,相反,你需要服用每個項目都有自己的點值進入跨度。

var current_fat = 0; 

$('#addButton').on('click', function(event) { 
    if ($('#search_term').val() == '') { 
    alert('please fill something in text box'); 
    } else { 
    var searchedValue = $('#search_term').val(); 
    temp = $("#fat").text(); 
    temp = parseInt(temp); 

    temp = $("#fat").text(); 
    temp = parseInt(temp); 

    current_fat += temp; 

    $("#fat").text(current_fat); 
    var divHolder = $('.selectedStuff'); 
    $("<div>" + searchedValue + "<span data-fat='" + temp + "'>X</span></div>").css({ 
     'background-color': 'yellow', 
     'width': '700px', 
     'margin-top': '10px', 
     'border-style': 'solid', 
     'border-color': '#0000ff' 
    }).appendTo(divHolder); 
    } 


    $('.selectedStuff span').on("click", function() { 
    var fat = Number($(this).data('fat')); 
    alert(fat); 
    $('#fat').text(Number($('#fat').text()) - fat); 
    $(this).parent().remove(); 
    }); 
}); 
+0

hmm它的實際工作,但現在帶走錯誤的金額 – Nevershow2016

+0

@ Nevershow2016你能告訴我通過小提琴? – Blindsyde

+0

我不知道我可以,我有PHP,因爲它的所有鏈接到我的數據庫等 – Nevershow2016

-1

您可以通過引入一個臨時變量來減去並顯示值。請找到工作示例。

var current_fat = 0; 
 
$(document).ready(function(){ 
 
    $('.searchFunction').keyup(function(event) { 
 
      if(event.keyCode != 8 && event.keyCode != 46) { 
 
       var search_term = $("#search_term").val(); 
 
       if(search_term != '') { 
 
        $.get('build.php', { search_term:search_term }, function(data) { 
 
        $('.result').html(data);  
 
        }); 
 
       } 
 
      } 
 
     }); 
 

 
     $('.result').on('click', 'li', function(event) { 
 
      var result_value = $(this).text(); 
 
      $('#search_term').val(result_value); 
 
      $('.result').html(''); 
 
     }); 
 

 
     $('#addButton').on('click', function(event) { 
 
      if($('#search_term').val() ==''){ 
 
       alert('please fill something in text box'); 
 
      }else{ 
 
        var searchedValue = $('#search_term').val(); 
 
        temp = $("#fat").text(); 
 
        temp = parseInt(temp); 
 
        $.post('build.php', { 'search_term':searchedValue, 'current_fat':temp }, function(data) { 
 
\t \t \t \t  
 
         $('.result').html(data); 
 
        
 
\t \t \t \t }); 
 
       \t temp = $("#fat").val(); 
 
\t \t \t \t  temp = parseInt(temp); 
 
\t \t \t \t \t current_fat += temp; 
 
\t \t \t \t \t $("#fat").val(current_fat); 
 
       
 
\t \t \t \t var divHolder = $('.selectedStuff'); 
 
\t \t \t \t \t $("<div>" + searchedValue + "<span data-fat='"+current_fat+"' data-itemfat='"+temp+"'>X</span></div>").css({ 
 
\t \t \t \t \t \t \t \t 'background-color': 'yellow', 
 
\t \t \t \t \t \t \t \t 'width': '700px', 
 
\t \t \t \t \t \t \t \t 'margin-top': '10px', 
 
\t \t \t \t \t \t \t \t 'border-style': 'solid', 
 
\t \t \t \t \t \t \t \t 'border-color': '#0000ff' 
 
\t \t \t \t \t \t \t }).appendTo(divHolder); 
 
\t \t \t \t } 
 

 
\t \t \t $('.selectedStuff span').on("click", function(){ 
 
\t \t \t \t var totalfat = Number($(this).data('fat')); 
 
\t \t \t \t var fat = Number($(this).data('itemfat')); 
 
\t \t \t \t $('#fat').val(totalfat-fat); 
 
\t \t \t \t $(this).parent().remove(); 
 
\t \t \t }); 
 
     }); 
 
});
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
<div> Search Term :&nbsp;<input type="text" id="search_term" />&nbsp; FAT: &nbsp;<input type="text" id="fat" /> <input type="button" id="addButton" value="add" /></div> 
 
<div class="selectedStuff"></div> 
 
    </body> 
 
    </html>

+0

我已經複製了js文件確切的,它增加了罰款,但並沒有減:( – Nevershow2016

+0

我不太確定爲什麼 – Nevershow2016

+0

我不確定它可能是我的php文件,這使它變得無用嗎? – Nevershow2016