2013-08-13 4 views
0

Я использую математическую формулу на своем сайте, чтобы помочь пользователям определить, сколько калорий они должны потреблять в день, чтобы похудеть, поддерживать текущий вес или наращивать мышцы. После того, как они войдут в свою персональную статистику, нажмите кнопку «Создать калорийный кошелек», а JQuery выполнит математику и динамически вводит данные в три (3) пустые ячейки с отдельными именами классов в зависимости от того, какой из 3 результатов они ищут , Ниже приведена таблица ниже.Как сохранить динамические сгенерированные данные jquery

<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-запрос для выполнения. Проблема в том, что когда я запускаю тесты с помощью ящиков предупреждений, я не могу получить 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, но это слишком много информации, чтобы просеивать и принимая меня слишком много времени, чтобы выяснить, на моем своя. Спасибо вам большое.

ответ

2

Попробуйте использовать .text() или .html() вместо .val(), который предназначен для ввода.

Смежные вопросы