【问题标题】:jquery add row on click only if it's empty?jquery仅在为空时才在单击时添加行?
【发布时间】:2010-04-20 03:56:51
【问题描述】:

下面的代码有效,如果我单击输入字段,它将添加另一行。我试图弄清楚,如果输入字段为空,only 如何做到这一点?

$("#tableSearchData > tbody > tr > td > input").bind('focus', function(){
                var row = $(this).closest("tr").get(0);
                if( row.className.indexOf("clicked")==-1 )
                {
                    var rowCopy=$(row).clone(true);
                                $(row).closest("tbody").append(rowCopy);
                                row.className+=" clicked";
                }
});

【问题讨论】:

  • 能否分享一些 HTML

标签: jquery insert row dynamic


【解决方案1】:
$("#tableSearchData > tbody > tr > td > input").bind('focus', function(){
      if ($(this).val() == "")
      {
                var row = $(this).closest("tr").get(0);
                if( row.className.indexOf("clicked")==-1 )
                {
                    var rowCopy=$(row).clone(true);
                                $(row).closest("tbody").append(rowCopy);
                                row.className+=" clicked";
                }
      }
});

【讨论】:

    【解决方案2】:

    如果您只是想确保文本框中没有字符,您可以检查 .val() 中的“”

    if ($(this).val() === "")
    

    如果您想确保文本框中的字符不是空格,那么您可以修剪 val 并检查是否为空

    if ($.trim($(this).val()) === "")
    

    如果您的类名完全被“点击”了,那么您可以使用 .hasClass() 检查该类是否存在于元素上。

    if (row.hasClass("clicked"))
    

    【讨论】:

      猜你喜欢
      • 2014-10-05
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      相关资源
      最近更新 更多