저는 사람들이 실시간 데이터를 볼 수있는 시스템을 구축하려고하는 데 문제가 있습니다. 500 그램의 우유를 넣으면 사람들은 지방, 과자, 고체의 가치있는 내용을 볼 수 있습니다. 지방, 단 것, 고형물 등과 같은 다른 것들을위한 우유 무게의 테스트 박스와 읽기 전용 텍스트 상자가 있어야합니다.
이제 우유의 무게 변화에 따른 지방, 단맛, 고형물의 가치를 업데이트하고 싶습니다
어느 정도 달성했지만 문제는 우유의 가치를 낮추더라도 가치가 계속 높아진다는 것입니다.
여기에 코드를 추가하고 있습니다. 확인하고 도움이나 제안이 있으면 대단히 감사하겠습니다.
HTML
<td><input type="text" name="name" placeholder="Weight" class='smalltextbo onlynumbers' id="w<?=$thedetails_array['sno']?>" onkeyup="return updatevalues(this);" onkeypress="return isNumber(event);"; value='1'/></td>
<td><input type="text" name='fat' value="<?=$thedetails_array['fat']?>" id="fat<?=$thedetails_array['sno']?>" readonly></td>
<td><input type="text" name='sweet' value="<?=$thedetails_array['sweet']?>" id="sweet<?=$thedetails_array['sno']?>" readonly></td>
<td><input type="text" name='solid1' value="<?=$thedetails_array['solid1']?>" id="solid<?=$thedetails_array['sno']?>" readonly></td>
JAVASCRIPT
function updatevalues(vale){
var mainid=$(vale).attr("id");
var onlyidis=mainid.substr(1);
var mainval=$('#w'+onlyidis).val();
var varfatval=$('#fat'+onlyidis).val();
$('#fat'+onlyidis).val(varfatval*mainval);
var varfatval=$('#sweet'+onlyidis).val();
$('#sweet'+onlyidis).val(varfatval*mainval);
}
1 그램의 우유에 지방과 달콤하고 실제 고형분에 대한 데이터가 있습니다. 여기 우유의 실제 무게로 업데이트하십시오.
여기에 이미지가 있습니다
아직도 어떤 해결책도 얻지 못해서 나를 더 잘 도울 수있는 사람이 있습니까 ??
-
답변 # 1
-
답변 # 2
해당 값을 업데이트하기 전에 입력을 비워야합니다 ..
function updatevalues(vale){ var mainid=$(vale).attr("id"); var onlyidis=mainid.substr(1); var mainval=$('#w'+onlyidis).val(); var varfatval=$('#fat'+onlyidis).val(); $('#fat'+onlyidis).val(); $('#fat'+onlyidis).val(varfatval*mainval); var varfatval=$('#sweet'+onlyidis).val(); $('#sweet'+onlyidis).val(); $('#sweet'+onlyidis).val(varfatval*mainval); }
-
답변 # 3
I am trying to build a system where people can see the realtime data like, if I put 500 grams of milk then people can see the value content of fat, sweets [...] the problem is the value keeps on multiplying even on decreasing the value of milk
다른 사람들이 언급했듯이, 입력 가중치를 기반으로 다른 내용의 값을 실시간 (클라이언트 측)으로 계산하려면 원래 승수를 클라이언트 측 코드에 저장해야합니다.
예 : 성분의 지방 양을 표시하고 성분이 성분 1g 당 지방이 0.4g임을 알고 있으면 승수는 0.4입니다. 실제 무게가 변경되면 배율에서 콘텐츠 값을 다시 계산해야합니다.
코드에서 서버 측 코드에서 승수 값을 삽입하지만 클라이언트 측 재 계산을 위해 원래 승수를 별도로 저장하지 않는 것 같습니다. 다음과 같이 JavaScript 코드로 저장할 수 있습니다.
<script> var milkMultipliers = { fat: 0.01, sweetness: 3.2 } </script>
function update(elm){ var ingredient = elm.id; var computables = ['fat', 'protein', 'carbo']; for(var i = 0; i < computables.length; i++){ var tableCell = document.getElementById(ingredient + '-' + computables[i]); var multiplier = tableCell.getAttribute('data-multiplier'); tableCell.innerHTML = (+elm.value) * (+multiplier); } } update(document.getElementById('milk')); update(document.getElementById('butter'));
th, td{ text-align: left; padding: 0.4em; } body, input{ font-family: sans-serif; }
<table> <tr> <th>Ingredient</th> <th>Weight</th> <th>Fat</th> <th>Protein</th> <th>Carbohydrates</th> </tr> <tr> <td>Milk</td> <td> <input id="milk" onkeyup="update(this)" value="1"/> </td> <td id="milk-fat" data-multiplier="0.01"></td> <td id="milk-protein" data-multiplier="0.034"></td> <td id="milk-carbo" data-multiplier="0.05"></td> </tr> <tr> <td>Butter</td> <td> <input id="butter" onkeyup="update(this)" value="1"/> </td> <td id="butter-fat" data-multiplier="0.81"></td> <td id="butter-protein" data-multiplier="0.009"></td> <td id="butter-carbo" data-multiplier="0.001"></td> </tr> </table>
-
답변 # 4
지방, 스위트 등의 함량을 계산하는 대신 지방, 스위트 입력란에 이전 값을 곱하면됩니다.
// calculate amount of fat from milk amount i.e from mainval $('#fat'+onlyidis).val(calculatedValue); // calculate amount of sweet from milk amount i.e from mainval $('#sweet'+onlyidis).val(calculatedValue);
관련 자료
- python - 다른 열의 값을 기반으로 데이터 프레임에 열 추가
- sql server - 다른 열을 기반으로 새 열의 값 채우기
- 한 쿼리에서 다른 열의 값을 기반으로 mySQL DB의 열 평균을 얻을 수 있습니까?
- python - 다른 팬더 열의 값을 기반으로 문자열을 바꾸는 방법
- Excel에서 다른 셀 값을 기반으로 셀 서식을 지정하는 방법은 무엇입니까?
- python - 값 임계 값을 기반으로 dict 요소를 필터링하고 제거하는 방법은 무엇입니까?
- reactjs - formik의 다른 필드를 기반으로 한 필드의 입력 값을 설정하는 방법은 무엇입니까?
- amazon web services - updateexpression - 목록에 다른 속성 값 추가
- R에서 인접한 열에있는 문자의 일치에 따라 값을 NA로 바꿉니다
- regex - 태그의 값을 기반으로 로그에서 여러 줄 XML 추출
- terraform - 조건에 따라 속성에 값을 할당하는 방법
- java - 다른 방법 시도에서 문자열 값 가져 오기
- 스칼라의 요소 값을 기반으로 목록 분할
- c# - 다른 구성 요소 내부의 Blazor 설정 값
- reactjs - 머티리얼 UI에서 경로 이름을 기반으로 숨겨진 텍스트 필드 값을 설정하는 방법
- python - 다른 데이터 프레임 값을 기준으로 팬더 값 정렬
- flutter - 다트 맵, 키 ID를 기반으로 list 의 특정 키 값을 대체하는 방법은 무엇입니까?
- r - 한 열의 값을 기준으로 모든 열의 행을 서로 뒤에 배치
- Regex - 정규식 - 표현을 기반으로 가치를 추출하는 방법은 무엇입니까?
- javascript - 다른 객체 배열을 기반으로 객체 배열 필터링
- javascript - 캔버스 모양의 원을 만드는 방법?
- html - 자바 스크립트를 사용하여 이미지를 텍스트로 변환하는 방법
- html - JavaScript를 사용하여 활성 클래스 교체가 제대로 작동하지 않음
- javascript - Div는 JQuery 숨기기 기능으로 숨기지 않습니다
- javascript - 클릭 한 버튼에 클래스를 추가하고 이전에 클릭 한 버튼에 클래스를 제거하는 방법
- html - 클라이언트 측 자바 스크립트 파일 세트 양식 태그 속성
- html - 공백을 제거하고 자바 스크립트로 단어 사이에 대시 추가
- html로 자바 스크립트 인쇄 기능
- html - 자바 스크립트에서 키보드 키로 입력 필드를 전환하는 방법은 무엇입니까?
- javascript - 데이터 바인딩으로 검색하는 td 값에서 특정 데이터 나열
실수로 고형분의 가치는 이전 가치를 고려하여 가지고있는 가치에 곱하는 것입니다.
이것은 분명히 틀렸다 :
varfatval
이후이전 값이며
mainval
를 곱합니다. 필요한 값을 곱하는 대신 예를 들어 다음과 같이 필요한 값을 어떻게 든 초기화해야합니다 (각각 12와 13 대신 올바른 값 사용).다음과 같이 업데이트에이 값을 사용하십시오 :