-1

テーブルに値を挿入するためのノックアウトバインディングを行っています。テーブルの行数が 0 の場合、警告メッセージを表示する必要があります。しかし、そのためには、データを表示している行の数を数える必要があります。

私のビューのコードは次のとおりです。

    <table class="table table-hover table-bordered datagrid" style="width: 355px;" id="remodellingTable">
       <thead>
         <tr>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Address</th>
            <th>City</th>
            <th>State</th>
         </tr>
       </thead>
       <tbody data-bind="foreach:items">
          <tr>
             <td data-bind="text:fname" id="tdfname"></td>
             <td data-bind="text:lname"></td>
             <td data-bind="text:addr"></td>
             <td data-bind="text:city"></td>
             <td data-bind="text:state"></td>
          </tr>
       </tbody>
    </table>
<button type="button" class="btn" id="nexttarget"> Next <i class="icon-arrow-right"></i></button>

このチェック用のjqueryコードは次のとおりです。

$('#nexttarget').live('click', function () 
{
     var rowcount = ('#remodellingTable > tbody > tr').length;
    if (rowcount > 0) 
    {
       $('#authorize').hide();
       $('#target').hide();
       $('#sideone').show();
    }
    else 
    {
       alert("There are no targets selected");
    }

}
4

2 に答える 2

4

次を使用してjQueryを呼び出すのを忘れました$:

var rowcount = $('#remodellingTable > tbody > tr').length;

http://jsfiddle.net/ENQrX/

jQuery を呼び出さない場合は、単に string の長さを評価しているだけであり、'#remodellingTable > tbody > tr'明らかに無関係です。

于 2013-01-17T06:50:12.330 に答える
1

これを使って

var rowcount = $('#remodellingTable > tbody > tr').length;

それ以外の var rowcount = ('#remodellingTable > tbody > tr').length;

于 2013-01-17T06:56:11.527 に答える