使用JQuery将值分配给HTML表格单元格

le

有一个显示模型条目的表,每个字段指定了一个唯一的div ID,该ID组合了关键字和每一行的ID。当用户在表的输入栏中输入数字时,脚本应该执行以下操作:获取同一行中单元格的位置;并根据其他单元格的值更改两个预定单元格的值。直到最后一次更新,测试似乎都是成功的。我尝试使用.val()、. value和.html(),结果单元格为空白,如果脚本没有错误,则显示为0。有人可以发布正确的jQuery命令以及它为什么起作用吗?提前谢谢了。

桌子:

<table id="dt_Positions" class="table table-striped">
    <thead>
        <tr>
            <th class="text-center">Month</th>
            <th class="text-center">Owed</th>
            <th class="text-center">Bought</th>
            <th class="text-center">Total Position</th>
            <th class="text-center">Non-Fixed</th>
            <th class="text-center">Fixed</th>
            <th class="text-center">Fixed Position</th>
            <th class="text-center">Proposed</th>
        </tr>
    </thead>
    <tbody>
        @if (Model.Forecasts.Any())
        {
            foreach (var record in Model.Summaries)
            {
                <tr>
                    <td id="nmonth@(record.fID)" align="center">@String.Format("{0:d}", @record.Month)</td>
                    <td id="ntotal@(record.fID)" align="center">@record.NTotal</td>
                    <td id="nbought@(record.fID)" align="center">@record.NBought</td>
                    <td id="ntposition@(record.fID)" align="center">@record.NTotalPosition</td>
                    <td id="nvariable@(record.fID)" align="center">@record.NVariable</td>
                    <td id="nfixed@(record.fID)" align="center">@record.NFixed</td>
                    <td id="nfposition@(record.fID)" align="center">@record.NFPosition</td>
                    <td id="ninput@(record.fID)" align="center"><input class="nInput" type="number" name="quantity" min="1" max="50000"></td>
                </tr>
            }
        }
    </tbody>
</table>

剧本:

@section Scripts
{
    <script src="~/Scripts/jquery-2.1.3.js"></script>

    <script type="text/javascript" language="javascript">
        $(function () {
            $('[id^=ninput]').keyup(function (e) {
                var $id = $(this).attr('id');
                var $i = $(this);
                var $idNum = $id.slice(6);
                var $tp = $('#ntposition' + $idNum);
                var $fp = $('#nfposition' + $idNum);
                var $nt = $('#ntotal' + $idNum);
                var $nh = $('#nbought' + $idNum);
                var $f = $('#nfixed' + $idNum);
                //The lines below appear to be the hiccup
                $tp.val($nh.val() + $i.html() - $nt.val());
                $fp.val($nh.val() + $i.html() - $f.val());
                debugger;
            });
        });
    </script>
}

编辑:返回“ NaN”的id的示例为:ntotal = 29,nbought = 5,ntposition = -24,nvariable = 3,nfixed = 26,nfposition = -21,所有这些在测试View时似乎都是int,但ntotal ,nbought和nfixed在console.log中显示“ NaN”,并在ninput = 5后导致“ NaN”出现在测试视图中。

用户名

$i是文本框,因此需要使用来获取其值$i.val()其他元素是表单元格,因此要获取或设置所需的值.text(),而不是.val()但是,您过度使用id属性来使代码复杂化相反,请删除然后使用相对选择器

$('input').keyup(function() { // or $('.nInput').keyup
  var i = Number$(this).val());
  var cells = $(this).closest('tr').children('td');

  var tp = cells.eq(3);
  var fp = cells.eq(6);
  // Get current cell values as a number
  var nt = Number(cells.eq(1).text());
  var nh = Number(cells.eq(2).text());
  var f = Number(cells.eq(5).text());
  // Update totals
  tp.text(nh + i - nt);
  fp.text(nh + i - f);

});

旁注:的值var i = $(this).val();可能是null但不确定您要如何处理-可能只是使用

var i = $(this).val();
if (!i) {
  return; // don't do any calculations
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将 html 值分配给单元格

单击按钮如何将数组中的随机值分配给表格单元格

将值分配给Matlab中的单元格

Java将值分配给数组单元格

无法将值从单元格分配给变量

使用VBA将公式分配给单元格?

如何将值分配给html单元格内的文本框

如何使用Python将变量中的值分配给Excel单元格

使用pandas模块将excel单元格值分配给变量[Python 3.8,Linux]

将超链接批量分配给Google表格/ Excel单元格

将数组中的元素分配给每个表格单元格

我是否总是需要使用单元格数组将多个值分配给struct数组?

将单元格的数值分配给整数变量

将 IF(AND 公式分配给 VBA 中的单元格

将选定的单元格分配给变量

将单元格值分配给后续NA单元格的功能(同一列)

根据条件将单元格值分配给数组

Excel VBA-将2D数组的值分配给单元格范围

将多个值分配给数据帧中的不同单元格

将Word表单元格值分配给Word Document中的变量

将值分配给二维python数组中的单个单元格

将值分配给PySpark dataFrame中的特定单元格

将Flexdashboard无功输入值分配给数据框单元格

通过函数MATLAB将值分配给单元格数组

excel vba - 将指定的单元格值分配给变量

Matlab:将单元格内容分配给非单元格数组对象

如何将数字单元格分配给文本单元格

无法将值分配给多索引数据帧中的单元格(分配给df的副本/切片?)

Javascript:将输入值与多个表单元格值相乘,然后将其分配给其他表单元格