Javascript с циклом и суммой шаблона лезвия laravel

Я пытаюсь выполнить расчет с моей таблицей с помощью java-скрипта, но я не знаю, как зациклить его с остальной частью идентификатора. прямо сейчас я могу рассчитать только один элемент, как сделать это кратным, вот результатJavascript с циклом и суммой шаблона лезвия laravel

поскольку вы можете видеть, что только идентификатор 1 получает результат, а идентификатор 2 равен нулю, как я могу сделать эту работу, вот мой java-скрипт

function calc(){     
         var n1 = parseFloat(document.getElementById('n1').value);
         var n2 = parseFloat(document.getElementById('n2').value);
         var oper = document.getElementById('result').value = n1*4+n2; 
}

  <table id = "my-table" class = "table table-hover table-bordered">
                <thead>
                    <tr >
                      <th class = "text">NAME</th>
                      <th class = "text">A/P</th>
                      <th class = "text">H/W</th>
                      <th class = "text">Result</th>
                    </tr>
                 </thead>
                 <tbody>
                 @foreach($scores as $index => $score) 
                 <tr> 
                 <td>{{$score->lead->student_name}} <input type = "hidden" name = "scores[{{$loop->index}}][id]" value = "{{$score->id}}"></td> 
                 <td style = "text-align:center"><input id = "n1" type = "text" name = "scores[{{$loop->index}}][jan_ap]" value = "{{$score->jan_ap}}" class = "input" autocomplete = "off"></td> 
                 <td style = "text-align:center"><input id = "n2" type = "text" name = "scores[{{$loop->index}}][jan_hm]" value = "{{$score->jan_hm}}"  class = "input" autocomplete = "off"></td> 
                 <td style = "text-align:center"><input id = "result" type = "text" name = "scores[{{$loop->index}}][result]" value = "{{$score->result}}"  class = "input" autocomplete = "off"></td> 
                 </tr> 
                 @endforeach
                </tbody>
                </table><div class = "form-group ">
                <button onclick = "calc(); " type = "submit">Submit</button>
                </div> 

можешь переписать свой вопрос. Вы упоминаете table, но показываете нам api с json. Должен ли я сделать предположение, что вы используете json для создания таблицы с помощью лезвия? Хорошая идея прочитать: stackoverflow.com/help/how-to-ask

thefolenangel 13.07.2018 15:54

извините, попробуйте прочитать еще раз мой вопрос, изображение, которое я показываю вам, является результатом моего возвращения из моей таблицы, я пытаюсь вычислить каждый идентификатор внутри моей таблицы.

Grace 13.07.2018 15:56

@Grace, когда вы говорите table, вы имеете в виду таблицу HTML или таблицу базы данных? Вы упомянули, что этот javascript находится в шаблоне лезвия. Если это так, возможно, вы неправильно подошли к решению этой проблемы. Кажется, вы пытаетесь прочитать значения из какого-то элемента DOM, но вам, вероятно, будет проще передать данные непосредственно в javascript в вашем шаблоне лезвия, см. Документацию здесь: laravel.com/docs/5.6/blade#displaying-data Вот и пример: приложение = @json ($ n1Value); </script> `

Kirill Fuchs 13.07.2018 16:03

после расчета вы хотите отобразить его в текстовом поле результата?

rkj 13.07.2018 17:12

да если возможно ..

Grace 13.07.2018 17:12

затем сохраните его в моей БД, хе-хе

Grace 13.07.2018 17:13

Прежде всего вам нужно удалить id = "n1", потому что вы можете назначить тот же идентификатор в цикле

rkj 13.07.2018 17:14

если я удалю n1, как можно будет запустить расчет?

Grace 13.07.2018 17:15

позвольте мне написать структуру таблицы

rkj 13.07.2018 17:17

это связано с таблицей, которую мы делали последние несколько дней, можно ли использовать php внутри контроллера для вычислений вместо java?

Grace 13.07.2018 17:18

Позвольте нам продолжить обсуждение в чате.

rkj 13.07.2018 17:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
11
530
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я отвечаю на это с помощью некоторых предположений, которые я сделаю, поскольку это не совсем ясно из вопроса.

Предположение 1: У вас есть эта таблица, отображаемая с помощью лезвия, которое откуда-то получает данные:

<div id = "myTabDiv">
<table name = "mytab" id = "mytab1">
<tr> 
  <td>col1 Val1 (has ID)</td>
  <td>col2 Val2 (has jan_ap)</td>
  <td>col3 Val3 (has jan_hm)</td>
  <td>col4 Val4 (has result)</td>
</tr>
<tr>
  <td>col1 Val1 (has ID)</td>
  <td>col2 Val2 (has jan_ap)</td>
  <td>col3 Val3 (has jan_hm)</td>
  <td>col4 Val4 (has result)</td>
</tr>

Предположение 2: вы заполнили столбцы 1-3 значениями, но у вас есть волшебная кнопка, которая при нажатии вычисляет col4. Указанная кнопка использует функцию JS.

function calc(){    
var table = document.getElementById("mytab1");
for (var i = 0, row; row = table.rows[i]; i++) {
  //iterate through rows
  //rows would be accessed using the "row" variable assigned in the for loop
 for (var j = 0, col; col = row.cells[j]; j++) {
   //iterate through columns
   //columns would be accessed using the "col" variable assigned in the for loop
   //here you can do things like saying sum col[1] + col[2] and then input result in col[3]
   }  
  }
}

Да, сэр, предположение 2 верно, я обновлю свой вопрос ... см. Изображение

Grace 13.07.2018 16:11

Я нацелен только на два столбца, которые являются jan_ap и jan_hm, затем заполняю вычисление для результата col .. возможно ли?

Grace 13.07.2018 16:16
Ответ принят как подходящий

Из обсуждения в чате и кода вашего контроллера было обнаружено, что вы хотите добавить строку с некоторой формулой и сохранить результат в поле results в базе данных. Итак, здесь мы придумываем код

Метод сохранения контроллера

$scores = $request->input('scores');

foreach($scores as $row){ 
    $score = Score::find($row['id']); 
    $score->jan_ap = $row['jan_ap']; 
    $score->jan_hm = $row['jan_hm']; 
    $score->result = round($row['jan_ap'] * 0.5) + ($row['result'] * 0.5); 
    $score->save(); 
}

Примечание. Удалите ввод текста результата из шаблона лезвия, потому что он больше не используется.

Да, абсолютный ответ php - это способ его вычислить и сохранить в базе данных, спасибо, MAster @rkj за помощь в решении этой проблемы .. и других, кто дал свой ответ ..

Grace 13.07.2018 17:46

Другие вопросы по теме