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
} 

编辑: Activity activity = 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

否则,如果您想检查其中一个跨度标签是否为空,请在别处显示一个按钮,请使用以下命令

$(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 回答