0

我在我的网站上使用一个数学公式来帮助用户确定他们每天必须消耗多少卡路里来减肥、保持当前体重或锻炼肌肉。在他们输入他们的个人统计数据后,他们单击“生成卡路里钱包”按钮,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 自己尝试了很多尝试,但是筛选的信息太多,而且我自己花了很长时间才能弄清楚。非常感谢大家。

4

1 回答 1

2

尝试使用.text()or.html()代替.val(),它用于输入。

于 2013-08-13T23:30:53.597 回答