@for (int i = 0; i < ViewBag.Count; i++) {
<tbody>
<tr>
<td> <input type="text" required readonly name="emp[@i].Total_Marks" value="@ViewBag.Total" class="form-control" id="tm" /></td>
<td> <input type="number" required name="emp[@i].Obtained_Marks" class="form-control" id="ob" /></td>
<td> <input type="number" required name="emp[@i].Percentage" class="form-control" id="percentage" onfocus="calcper()" /></td>
<td> <textarea cols="10" required rows="1" name="emp[@i].Remarks" class="form-control"></textarea></td>*
</tr>
</tbody>
}
function calculatePercentage() {
ab = $("#tm").val();
sb = $("#ob").val();
ntb = parseInt(sb) / parseInt(ab) * 100;
console.log(ntb);
document.getElementById("percentage").value = ntb;
}
我是mvc 5和javascript / jQuery的新手请帮助我如何在循环创建的每个输入类型中以百分比使用此jQuery函数,但它们的id相同
答案 0 :(得分:0)
正如您所说,您需要在百分比文本框中调用函数。 让我告诉你一件事给一个元素分配一个相同的Id是不好的做法,但你可以有相同的名字。 建议您使用通用类属性或通用名称属性
<input type="text" name="percentage1" id="percentage1" class="percentage">
您可以将其视为一个空类,它将帮助您进行脚本操作 例如:
<html>
<head>
<script>
$('.percentage').keypress(function(){
alert('I called');
});
</script>
</head>
<BODY>
<input type="text" name="percentage1" id="percentage1" class="percentage" />
<input type="text" name="percentage2" id="percentage2" class="percentage"/>
<input type="text" name="percentage3" id="percentage3" class="percentage"/>
</BODY>
</HTML>
在上面的代码中我有三个文本框,它指向相同的功能,它将显示警告框。
在你的情况下,只需将emp [@i]应用于Id,并拥有一个共同的类名或具有通用名称属性,这将有助于你。
快乐的编码。