如果字段为空,如何操作

时间:2013-03-05 06:32:08

标签: jquery validation

美好的一天

我有一个动态将数据填充到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>

有什么建议吗?

5 个答案:

答案 0 :(得分: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
    }
});

答案 1 :(得分:1)

$("tbody tr td").length   

会给你td的数量。

您可以检查任何td是否存在并显示按钮

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

编辑:活动活动= activityManager.getByCode(activityShortCode);刚刚意识到td将会出现,但您想检查它们是否为空。我的解决方案在这种情况下不起作用,因为它只检查td的数量而不是它们的内容。其他人给出了正确的解决方案,你可以试试。

答案 2 :(得分: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

或者如果你想检查其中一个span标签是否为空,在其他地方显示一个按钮,请使用以下

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

答案 3 :(得分:0)

你应该试试这个:

$('tbody tr').each(function(){
   var txt = $(this).find('td').text();
   (txt == '') ? $(this).find('td').text('Done'): return true
});

答案 4 :(得分:0)

尝试:

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

   };
});

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

   };
}