1

私はこのコードを持っています:

<div class="main">
    <form id="uploadFile" data-bind="attachForm: uploadFile">
        <div id="queue"></div>
        <input id="file_upload" name="file_upload" type="file" multiple = "true">
        <input type="hidden" id="SESSION" name="SESSION" data-bind="value: session" />
    </form>

    <table class="dataTable" name="details">
        <thead>
            <tr>
                <th data-bind="text: MDCode"></th>
                <th data-bind="text: TargetAchieved"></th>
                <th data-bind="text: Month"></th>
                <th data-bind="text: Year"></th>
                <th data-bind="text: MDName"></th>
                <th data-bind="text: Document"></th>
            </tr>
        </thead>
        <tbody data-bind="foreach: mainData">
            <tr>
                <td data-bind="text: MDCode"></td>
                <td data-bind="text: targetAchieved"></td>
                <td data-bind="text: month"></td>
                <td data-bind="text: year"></td>        
                <td data-bind="text: MDName"></td>
                <td> Open </td>
            </tr>
        </tbody>
    </table>
</div>

knockoutjs値をバインドするために使用しています。問題は、フォア ループをカウントする必要があることです。mainDataアップロード フォーム (上部) によって入力されます。添付ファイルはすべて表の 1 行です。ビューモデルが呼び出されたときは空mainDataであるため、ビューモデルの内部を数えることはできません。mainData私も試しました:

rowCount = $('#details tr').length;
console.log(rowCount);

ただし、viewModel が呼び出されたときに行がまったくないため、常に 0 が返されます。

この問題で私を助けてください。問題がロジックの内部にあることは確かです。または、非常に小さいものを見逃しているのですが、それを見つけることができません。

4

2 に答える 2

0
$(document).ready(function() {
    rowCount = $('table[name="details"] tr').length;
    alert(rowCount);
});
于 2013-08-16T06:13:55.117 に答える