JQuery добавить строку по клику, только если он пуст? - PullRequest
1 голос
/ 20 апреля 2010

Код ниже работает, так что если я щелкну в поле ввода, он добавит еще одну строку. Я пытаюсь выяснить, хотя, как это сделать только , если поле ввода пусто?

$("#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";
                }
});

Ответы [ 2 ]

0 голосов
/ 20 апреля 2010

Если вы просто хотите убедиться, что в текстовом поле нет символов, вы можете проверить .val () для ""

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

Если вы хотите убедиться, что символы внутри текстового поля не являются пробелами, вы можете обрезать значение val и проверить наличие пустых

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

Если ваше имя класса точно «щелкнуло», то вы можете использовать .hasClass (), чтобы проверить, присутствует ли класс в элементе или нет.

if (row.hasClass("clicked"))
0 голосов
/ 20 апреля 2010
$("#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";
                }
      }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...