使用javascript无法正常工作时网格中的数量不应小于0

时间:2016-11-03 11:57:47

标签: javascript asp.net gridview

当我将第一条记录插入gridview时。我想要的是,我的Amount列不应该是0或更少。

以下是我的代码。

function checkAgrmVal() {
        for (var i = 0; i < GridPayInfo.Rows.length; i++) {
            var AgrmntAmt = GridPayInfo.Rows[i].Cells[5].Value;
            alert(AgrmntAmt);
            if (AgrmntAmt <= "0") {
                alert('Agreement amount cannot be 0 or less than 0');
                return false;
            }
        }
    }

当我去添加第一行时它不起作用,但是当我去添加第二行时它确实有效。

1 个答案:

答案 0 :(得分:1)

  • 要获取表格行,请使用GridPayInfo.rows[i].cells[5]而非RowsCells
  • 要获取单元格内容,请使用innerTexttextContent来获取文字,或使用innerHTML来获取不是.Value的HTML。
  • .Value应为.value,适用于输入和textarea。

所以你的例子应该可以看到下面的代码:

&#13;
&#13;
function checkAgrmVal() {
var GridPayInfo = document.getElementById("tbl");
        for (var i = 0; i < GridPayInfo.rows.length; i++) {
            var AgrmntAmt = GridPayInfo.rows[i].cells[5].innerText;
            if (AgrmntAmt <= "0") {
                alert('Agreement amount cannot be 0 or less than 0 found in row: '+ (+i+1));
                return false;
            }
        }
    }
&#13;
<table id='tbl'>
<tr><td>a</td><td>b</td><td>c</td><td>d</td><td>e</td><td>-1</td></tr>
<tr><td>a</td><td>b</td><td>c</td><td>d</td><td>e</td><td>5</td></tr>
<tr><td>a</td><td>b</td><td>c</td><td>d</td><td>e</td><td>-3</td></tr>
<tr><td>a</td><td>b</td><td>c</td><td>d</td><td>e</td><td>-4</td></tr>
<tr><td>a</td><td>b</td><td>c</td><td>d</td><td>e</td><td>3</td></tr>
</table>
<button onclick='checkAgrmVal()'>check</button>
&#13;
&#13;
&#13;