javascript - 使用 JavaScript 自定义数学公式
问题描述
当我从 Marks Allocation 下拉列表中选择值时,它将出现在 weightage(total) 列和每个 weightage 列中,从每个标记列中获取的值附加在此处的图像,并且所有五列值根据权重(总计) 值,但问题是该值的总和不等于权重(总计)。数学公式是(每个标记列/总计 * 标记分配)。请帮助我更正我的编码。
标记分配字段:
<div class="form-row">
<label>Marks Allocation (%):</label>
<select name="percentage" id="percentage" onchange="updateVall()" class="form-control" oninput="this.className = ''">
<?php
$sql = mysqli_query($connection,"SELECT * FROM continous_assess");
while ($row=mysqli_fetch_array($sql))
{ ?>
<option value="<?php echo $row['percentage']; ?>"><?php echo $row['percentage']; ?></option>
<?php
}
?>
</select>
</div>
用 java 脚本标记域代码:
<fieldset>
<div class="form-group">
<label>Marks</label>
<input type="number" id="m1" oninput="testing1()" class="prc"/>
<input type="number" id="m2" oninput="testing2()" class="prc"/>
<input type="number" id="m3" oninput="testing3()" class="prc"/>
<input type="number" id="m4" oninput="testing4()" class="prc"/>
<input type="number" id="m5" oninput="testing5()" class="prc"/>
<label>Total</label>
<output id="result" name="result"></output>
</div>
</fieldset>
<script src="jquery.min.js"></script>
<script>
$('.form-group').on('input','.prc',function(){
var totalSum = 0;
$('.form-group .prc').each(function(){
var inputVal = $(this).val();
if($.isNumeric(inputVal)){
totalSum += parseFloat(inputVal);
}
});
$('#result').val(totalSum);
});
</script>
权重栏代码:
<div class="form-group">
<label>Weightage</label>
<input type="number" id="w1" name="w1" class="prc1"/>
<input type="number" id="w2" name="w2" class="prc1"/>
<input type="number" id="w3" name="w3" class="prc1"/>
<input type="number" id="w4" name="w4" class="prc1"/>
<input type="number" id="w5" name="w5" class="prc1"/>
<label>Total</label>
<input type="text" name="exampleInput" id="exampleInput" class="prc1"/>
</div>
Javascript代码:
<script type="text/javascript">
function testing1() {
//alert("rubine_m1");
var percentageVal = document.getElementById("percentage").value;
var ResultVal = document.getElementById("result").value;
var marksVal = document.getElementById("m1").value;
var w1Resval = marksVal / ResultVal * percentageVal;
document.getElementById("w1").value = w1Resval;
}
function testing2() {
//alert("rubine_m2");
var percentageVal = document.getElementById("percentage").value;
var ResultVal = document.getElementById("result").value;
var marksVal = document.getElementById("m2").value;
var w2Resval = marksVal / ResultVal * percentageVal;
document.getElementById("w2").value = w2Resval;
}
function testing3() {
//alert("rubine_m3");
var percentageVal = document.getElementById("percentage").value;
var ResultVal = document.getElementById("result").value;
var marksVal = document.getElementById("m3").value;
var w3Resval = marksVal / ResultVal * percentageVal;
document.getElementById("w3").value = w3Resval;
}
function testing4() {
//alert("rubine_m4");
var percentageVal = document.getElementById("percentage").value;
var ResultVal = document.getElementById("result").value;
var marksVal = document.getElementById("m4").value;
var w4Resval = marksVal / ResultVal * percentageVal;
document.getElementById("w4").value = w4Resval;
}
function testing5() {
//alert("rubine_m4");
var percentageVal = document.getElementById("percentage").value;
var ResultVal = document.getElementById("result").value;
var marksVal = document.getElementById("m5").value;
var w5Resval = marksVal / ResultVal * percentageVal;
document.getElementById("w5").value = w5Resval;
}
</script>
解决方案
推荐阅读
- java - 父类中不存在被覆盖方法中的变量
- swift - 在 UIView 上添加两个不同颜色的阴影?
- sql - 获取特定列的总和以及最后一行中另一列的值
- flutter - 如何获得通过的总时间颤动 - 使用计时器颤动
- php - WooCommerce 客户电子邮件中的错误 - payment_method 被错误调用
- python - 如何在烧瓶应用程序的根目录中添加文件,以便可以在 localhost:5000/file 上访问它?
- vb.net - 2019 VB浏览器应用中指针闪烁
- flutter - 如何在颤动中删除包括主页在内的后台堆栈
- database - 如何使用 sqlite3 为每个用户/存储用户特定数据创建单独的表
- neural-network - 如果我们两次使用相同的数据(初始参数的两次随机化),我们的算法是否有可能收敛到不同的局部最小值?