Если два поля имеют значения по умолчанию - PullRequest
0 голосов
/ 24 июля 2011

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

В настоящее время, однако, я могу заставить его работать только с одним полем, а не с несколькими полями.

Есть идеи? http://jsfiddle.net/3xaBs

Спасибо!

Ответы [ 3 ]

2 голосов
/ 24 июля 2011

Попробуйте это

$('#button').click(function() {
    if ($("#fone").val() == 'Hello World' && $("#ftwo").val() == 'Lorem Ipsum'){
        $('#fone').removeClass('myclass'); 
        $('#ftwo').removeClass('myclass'); 
    }
});
0 голосов
/ 24 июля 2011

Похоже у меня работает :

$('#button').click(function() {
   var one = $("#fone");
   var two = $("#ftwo");

   if (  one.val() == one[0].defaultValue
      && two.val() == two[0].defaultValue ){
       one.removeClass('myclass'); 
       two.removeClass('anotherclass'); 
   }
});
0 голосов
/ 24 июля 2011

Вот масштабируемое решение.Вы можете указать столько полей, сколько хотите, и только классы очистятся, если все поля в группе имеют значение по умолчанию при отправке:

HTML - используйте преимущества пользовательских атрибутов данных, чтобы вы моглисгруппируйте поля, не назначая класс, который JQuery удалит:

<input type="text" id="fone" name="fone" class="myclass" data-group="my_fields" data-default="Hello World" value="Hello World" />
<input type="text" id="ftwo" name="ftwo" class="anotherclass" data-group="my_fields" data-default="Lorem Ipsum" value="Lorem Ipsum" />

<a href="#" id="button">Link</a>

JQuery - захват полей в группе, сравнение их текущего значения с их значением по умолчанию и увеличение счетчика,сравнить с количеством полей всего:

$('#button').click(function(event) {
    event.preventDefault();
    var default_count = 0;
    $('input[data-group=my_fields]').each(function(){
       if($(this).val() == $(this).data('default'))
       {
           default_count++;
       } 
    });

    // If all fields have default value still...
    if(default_count == $('input[data-group=my_fields]').length)
    {
       $('input[data-group=my_fields]').removeClass(); // remove all classes
    }
});

Рабочая демоверсия: http://jsfiddle.net/AlienWebguy/3xaBs/5/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...