2016-12-02 74 views
1

以下JavaScript函数输出数据计划,第一个函数myDataPlan在第二个函数dataPlanOutput中调用。将JavaScript函数输出变量作为字符串用于其他函数

function myDataPlan(networkGroupId, countryCode) { 
    data_url = apiURL + '/api/v4/networkGroups/' + networkGroupId + '/plansExt?countryCode=' + countryCode; 
    jQuery.getJSON(data_url, function (dataPlan) { 
     jQuery.each(dataPlan.list, function (i, list) { 
      var currencySymbol = getCurrencySymbol(list.currency); 
      //Price 
      var content = '<tr>'; 
      content += '<td>' + currencySymbol + list.price + '</td>'; 
      //Data Limits 
      content += '<td>' + getDataLimit(list) + '</td>'; 
      //Data Length 
      content += '<td>' + list.validityPeriodInDays + '&nbsp;Days</td>'; 
      content += '</tr>'; 
      jQuery(content).appendTo("#dataplan_list"); 
     }); 
    }); 
} 

function dataPlanOutput(countryCode) { 
    document.getElementById("dataplan_list").innerHTML = ""; 
    network_url = apiURL + '/api/v4/countries/' + countryCode; 
    jQuery.getJSON(network_url, function (networkGroup) { 
     jQuery.each(networkGroup.list, function (i, list) { 
      var countryName = list.region; 
      var networkGroupId = list.networkGroupId; 
      myDataPlan(networkGroupId, countryCode); 
      document.getElementById('dataplan_list').innerHTML += '<tr><td colspan="3" class="title-h4">' + countryName + '</td></tr>'; 
     }); 
    }); 
} 

目前我有myDataPlan印刷#dataplan_list的函数内的股利。我想它做的是,当函数被调用它,然后创建一个变量(可以称之为printDataPlan)被添加到dataPlanOutput的最后一行,所以它看起来是这样的:

document.getElementById('dataplan_list').innerHTML += '<tr><td colspan="3" class="title-h4">' + countryName + '</td></tr>' + printDataPlan; 
+0

在第一个函数中,不是将内容附加到dataplan_list,而只是返回内容?然后将调用设置为myDataPlan等于您的printDataPlan变量。 –

回答

0

你能只是从myDataPlan返回值?然后在dataPlanOutput中的.innerHTML +=的末尾执行该操作?

function myDataPlan(networkGroupId, countryCode) { 
data_url = apiURL + '/api/v4/networkGroups/' + networkGroupId + '/plansExt?countryCode=' + countryCode; 
jQuery.getJSON(data_url, function (dataPlan) { 
    jQuery.each(dataPlan.list, function (i, list) { 
     var currencySymbol = getCurrencySymbol(list.currency); 
     //Price 
     var content = '<tr>'; 
     content += '<td>' + currencySymbol + list.price + '</td>'; 
     //Data Limits 
     content += '<td>' + getDataLimit(list) + '</td>'; 
     //Data Length 
     content += '<td>' + list.validityPeriodInDays + '&nbsp;Days</td>'; 
     content += '</tr>'; 
     return content; 
    }); 
}); 
} 

function dataPlanOutput(countryCode) { 
document.getElementById("dataplan_list").innerHTML = ""; 
network_url = apiURL + '/api/v4/countries/' + countryCode; 
jQuery.getJSON(network_url, function (networkGroup) { 
    jQuery.each(networkGroup.list, function (i, list) { 
     var countryName = list.region; 
     var networkGroupId = list.networkGroupId; 
     myDataPlan(networkGroupId, countryCode); 
     document.getElementById('dataplan_list').innerHTML += '<tr><td colspan="3" class="title-h4">' + countryName + '</td></tr>' + myDataPlan('var1','var2'); 
    }); 
}); 
} 
+0

我试过这个,但我只是得到一个undefined的回报? –

+0

但是当你直接在myDataPlan中追加时它不是未定义的? – hack3rfx

+0

不,它工作正常 –

相关问题