Изменить значение ячейки в зависимости от ввода другой ячейки с помощью JavaScript

0

благодаря помощи народов здесь я почти закончил то, что я собирался сделать вчера /

Я включил скрипку здесь http://jsfiddle.net/uzW5e/

Я хотел бы, чтобы, когда кто-то вводит значение, превышающее 85 в столбце, возглавляемом Percentage Grade (класс percGrade), значение 1 помещается в колонку с заголовком Pass Level (class passLevel), но она не работает?

<table align="center">
    <tr>
        <th>
            Module
        </th>
        <th>
            Percentage Grade
        </th>
        <th>
            Credits
        </th>
        <th>
            Pass Level
        </th>
        <th>
            WGC
        </th>
    </tr>
    <tr class="multRow">
        <td>
            <input name="module" />
        </td>
         <td>
            <input name="percentageGrade" class="percGrade" />
        </td>

        <td>
            <input name="credits" class="credits"/>
        </td>
        <td>
            <input name="passLevel" class="passLevel"/>
        </td>
        <td>
                <span class="multTotal">0.00</span>
        </td>
    </tr>



        <tr>
<td colspan="5" align="right">
    Total <span id="grandTotal">0</span>
</td>

<script>
 $(document).ready(function () {
   $(".multRow input").keyup(multInputs);

   function multInputs() {
       var mult = 0;
       // for each row:
       $("tr.multRow").each(function () {
           // check value entered for Percentage Grade 
           // & change Pass Level to value accordingly
           var $num = 0;
           if ($('.percGrade', this).val() > 85) {
               $num = 1;
               $('.passLevel',this).text($num);                
           }
           // get the values from this row:   
           var $val1 = $('.credits', this).val();
           var $val3 = $('.percGrade', this).val(); 
           var $val2 = $('.passLevel', this).val();
           var $total = ($val1 * 1) * ($val2 * 1)
           $('.multTotal',this).text($total);
           mult += $total;
       });
       $("#grandTotal").text(mult);
   }
  });
  </script>
Теги:

1 ответ

0
Лучший ответ

Поскольку .passLevel - это текстовое поле, вы должны использовать .val вместо .text:

$('.passLevel',this).val($num);
  • 0
    Большое вам спасибо: D

Ещё вопросы

Сообщество Overcoder
Наверх
Меню