0

良い一日

データをhtmlテーブルに動的に入力するフォームがあります。

tbodyのtdタグが空かどうかを確認したい。そうでない場合は、「完了」などの新しいボタンを表示したいと思います。

            <table class="borderClass">
                <thead>
                <tr>
                    <th class="tdProviderHead">Provider
                    </th>
                    <th class="tdCardNoHead">Card Number
                    </th>
                    <th class="tdCostHead">Cost
                    </th>
                </tr>
                </thead>
                <tbody data-bind="foreach: Data">
                    <tr>
                        <td><span data-bind="text: Provider"></span></td>
                        <td><span data-bind="text: CardNo"></span></td>
                        <td><span data-bind="text: 'R ' + Cost()"></span></td>
                    </tr>
                </tbody>
            </table>

なにか提案を?

4

5 に答える 5

2

このようなものが機能する可能性があります。

jQuery(document).ready(function(){
    var tds = jQuery("table.borderClass > tbody > tr > td");

    var anyEmpty = false;
    tds.each(function(){
        if(jQuery(this).text() == "")
            anyEmpty = true;
    });

    if(anyEmpty == false || tds.length == 0){
        // show button
    }
});
于 2013-03-05T06:37:59.743 に答える
1
$("tbody tr td").length   

あなたにtdの数を与えます。

tdが存在することを確認し、ボタンを表示することができます。

if($("tbody tr td").length == 0){
  // Do something
} 

編集:アクティビティアクティビティ= activityManager.getByCode(activityShortCode);td存在することに気づきましたが、空かどうかを確認する必要があります。td私のソリューションは、コンテンツではなく数をチェックするだけなので、そのような場合には機能しません。他の人は正しい解決策を与えました、あなたはそれを試すことができます。

于 2013-03-05T06:36:09.980 に答える
1

使ってみてください

$(document).ready(function() {
    $('tbody tr td').each(function(){ // use .each function to iterate between td cells
        if($(this).html()==''){   // check whether any of the td cells are empty
            $(this).html('<input type="button" value="Done"/>'); // place a button to the empty td cell
        }
    });
});

htmlコード:

<table class="borderClass">
                <thead>
                <tr>
                    <th class="tdProviderHead">Provider
                    </th>
                    <th class="tdCardNoHead">Card Number
                    </th>
                    <th class="tdCostHead">Cost
                    </th>
                </tr>
                </thead>
                <tbody data-bind="foreach: Data">
                    <tr>
                        <td><span data-bind="text: Provider"></span></td>
                        <td><span data-bind="text: CardNo"></span></td>
                        <td><span data-bind="text: 'R ' + Cost()"></span></td>
                        <td></td>
                    </tr>
                </tbody>
            </table>

デモJsfiddleはこちらをクリックしてください

または、スパンタグの1つが空かどうかを確認する場合は、他の場所にボタンを表示します。次を使用します。

$(document).ready(function() {
    var emptySpan = false; // initialize a variable
    $('tbody tr td span').each(function(){
        if($(this).html()==''){
            emptySpan = true; // store the status if you find a empty span tag
        }
    });
    if(emptySpan == true){
    $('#notify').html('<input type="button" value="Done"/>');
    }
});

テーブルの外や好きな場所にdivを置くことができます。

<div id="notify"></div>
于 2013-03-05T06:41:42.690 に答える
0

これを試してみてください:

$('tbody tr').each(function(){
   var txt = $(this).find('td').text();
   (txt == '') ? $(this).find('td').text('Done'): return true
});
于 2013-03-05T06:40:02.330 に答える
0

試す:

$("table tbody tr td").each(function() {
   if(!$(this).text() || !$(this).html()){

   };
});

また

$.each( $("table tbody tr td"), function() {
   if(!$(this).text() || !$(this).html()){

   };
}
于 2013-03-05T06:48:38.370 に答える