2017-06-14 69 views
0

在下面的函數中,我將'var selected =「this.calorieen」'傳遞到每個函數的table.find中。但是,這是一個數據集。但我需要選定的值是一個變量。將變量傳遞給函數以從數據集中提取數據

現在發生的是,它顯示爲「this.calorieen」而不是數據值「calorieen」。

我該如何解決這個問題?

功能

loadIngredients("this.calorieen"); 
    function loadIngredients(selected) {  
     var username = window.sessionStorage.getItem("huidigeGebruiker"); 
     var datum = document.getElementById("datepicker").value; 
     var url = "restservices/loadingredients?Q1=" + username + "&Q2=" + datum; 
      $.ajax({ 
       url : url, 
       method : "GET", 
       beforeSend : function(xhr) { 
        var token = window.sessionStorage.getItem("sessionToken"); 
        xhr.setRequestHeader('Authorization', 'Bearer ' + token); 
       }, 
       success : function(data) { 
        $(data).each(function (index) { 
         $(".table").find('tr:last').prev().after('<tr><td class="ingredient">'+this.ingredientnaam+'</td><td class="hoeveelheid"><input class="gramtxt" type="text" value="'+this.hoeveelheid+'" name="gramtxt" id="gramtxt"></td><td class="subtotaal">"'+selected+'"</td><td class="removeingredient"><a href="#"> <i class="fa fa-times text-red"></i></a></td></tr>'); 
         }); 
        loadTotals(); 
       }, 
      }); 
    } 
+1

'loadIngredients(「calorieen」);'在每個'this [selected]'中是你的意思? ps堅持一種語言讓你的代碼更具可讀性:) –

+0

@GertKommer是的,修正了它。謝謝! –

回答

0
$(".table").find('tr:last').prev().after('<tr><td class="ingredient">'+this.ingredientnaam+'</td><td class="hoeveelheid"><input class="gramtxt" type="text" value="'+this.hoeveelheid+'" name="gramtxt" id="gramtxt"></td><td class="subtotaal">"'+selected+'"</td><td class="removeingredient"><a href="#"> <i class="fa fa-times text-red"></i></a></td></tr>'); 

你應該使用eval()和傳遞上的代碼與一些報價修改這個功能參數。

0

loadIngredients(「calorieen」);並在每個這[選擇]。感謝GertKommer。