当输入类型文本在循环中时,如何在输入类型文本中运行jQuery函数

时间:2018-03-26 16:17:24

标签: javascript jquery

@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相同

1 个答案:

答案 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,并拥有一个共同的类名或具有通用名称属性,这将有助于你。

快乐的编码。