从文本框中检索不在当前分页上的值 - 数据表

时间:2015-10-27 20:22:32

标签: javascript jquery datatables

我正在使用带有Datatables插件的VB.Net,MVC,Razor,javaScript和jQuery。我正在渲染一个包含文本框的表。允许用户在这些文本框中键入值并将值提交给数据库。

只要表只有一页长,一切正常。如果表是多个页面,则仅提交可见的值。但是,如果用户在第一页上输入值,则移至第二页,然后返回第一页,输入文本框的值仍然存在。这让我相信这些价值观仍然存在于某个网页上。我目前正在使用javaScript getElementsByClassName来检索值。

以下是我的表格呈现方式:

<tbody>
    @For i As Integer = 0 To Model.History.Count - 1
        @<tr>
            <td>@Model.History(i).Quarter</td>
        @If Model.History(i).MeterUsage < 0 Then
            @<td>
                <input class="edit" id="@(Model.History(i).dateToRecord)" type="text" placeholder="meter usage" />
            </td>
        Else
            @<td>@Model.History(i).MeterUsage</td>
        End If                         
            <td>@Model.History(i).KeyOperator</td>
            <td>@Model.History(i).BackUpKeyOperator</td>
        </tr>
    Next
</tbody>

这是我的javaScript:

function submitChanges(changes) {
    var changes = document.getElementsByClassName('edit');
        var myChanges = {
            listOfIDs: [],
            listOfValues: []
        };
}

当用户正在查看表格的另一页时,是否有某种方法可以捕获表格第1页上输入的值?

1 个答案:

答案 0 :(得分:1)

使用$() API方法访问表格中的所有元素。

Sub Macro16()
    With ActiveSheet
        If .AutoFilterMode Then .AutoFilterMode = False
        With .Cells(1, 1).CurrentRegion
            .Columns(12).AutoFilter Field:=1, Criteria1:="Sheets"
            With .Resize(.Rows.Count - 1, 1).Offset(1, 9)
                If CBool(Application.Subtotal(103, .Offset(0, 1))) Then
                    .SpecialCells(xlCellTypeVisible).FormulaR1C1 = "=RIGHT(RC[1],3)"
                End If
            End With
            .Columns(12).AutoFilter Field:=1
        End With
    End With
End Sub

function submitChanges(changes) { var changes = $('#example').DataTable().$('.edit'); var myChanges = { listOfIDs: [], listOfValues: [] }; } 替换为您的实际表格ID。