我在我的网站上使用数学公式来帮助用户确定每天必须消耗多少卡路里来减肥,保持当前体重或增加肌肉。在他们输入他们的个人统计数据后,他们点击“生成卡路里钱包”按钮,Jquery进行数学运算并动态地将数据输入三(3)个空单元格,每个单元格具有单独的类名,具体取决于他们所看到的3个结果中的哪一个。这是下表。
<table>
<tr>
<td>Your Weight Loss Calorie Wallet</td>
<td class="row_1"></td>
</tr>
<tr>
<td>Your Maintanance Calorie Wallet</td>
<td class="row_2"></td>
</tr>
<tr>
<td>Your Muscle Gain Calorie Wallet</td>
<td class="row_3"></td>
</tr>
</table>
<form>
<input type="button" class="save_wallet" value="Save To Profile"/>
</form>
类row_1,row_2和row_3是结果从jquery动态显示的位置,正如您所看到的,表下方有一个按钮,用于让用户将数据保存到其配置文件中将使用简单的HTTP Post请求来执行。问题是当我使用警报框运行测试时,我无法获取jquery来获取动态生成的数据。我一直在拿空警报箱。
以下是当前在jquery中用于计算卡路里钱包并插入行的代码以及用于生成警报的按钮的代码。
//Used for calculating the calorie wallet based on Katch Mcardle.
$('.km_calculate').on("click",function(){
var lbm = $(this).parent().children('.lbm').val();
var activity = $(this).parent().children('.activity').val();
var wt_unit = $(this).parent().children('.wt_unit').val();
var bmr = 370 + (21.6 * lbm / wt_unit);
var calorie_wallet = activity * bmr;
var fatloss_wallet = calorie_wallet * .8;
var muscle_gain = calorie_wallet * 1.2;
$('.formula_2').slideUp();
$('div#calorie_wallet').slideDown();
$('.row_1').text(Math.round(fatloss_wallet));
$('.row_2').text(Math.round(calorie_wallet));
$('.row_3').text(Math.round(muscle_gain));
});
//Used to save the results from the math formulas
$('.save_wallet').click(function(){
var fatloss = $('.row_3').val();
alert(fatloss);
});
我希望有人可以帮助我解决这个问题,我已经尝试了很多次尝试,只是去了jquery.com,但是过多的信息需要筛选并花费我太长时间来自行解决。非常感谢你们。
答案 0 :(得分:2)
尝试使用.text()
或.html()
代替.val()
,这是输入。