2015-03-06 2 views
2

Я знаю, как изменить местозаполнитель, но как его изменить, если необходимо?JQuery - Восстановить Измененный Заполнитель?

Я попытался это, но это не изменило его обратно ..

$('[name^="u_"]').change(function(){ 
    if($(this).is(":checked")) { 
     $(this).next("input, select").attr("disabled",true); 
     $(this).next("input, select").attr("placeholder", "New Holder"); 

    } else { 
     $(this).next("input, select").attr("disabled",false); 
     $(this).next("input, select").attr('defaultValue') 
    } 
}); 

Я использую этот код на несколько входов. Каждое поле имеет заводские настройки по умолчанию:

<input type='checkbox' name='u_id'><input type="text" name="id" placeholder="ABC123"> 

Спасибо.

+1

магазин заполнитель в 'атрибута данных-placeholder'? Поэтому вы можете восстановить его при необходимости –

+0

Я ржавый в jquery, так что просто комментарий: насколько я помню, '.attr()' всегда должен иметь атрибут/свойство как первый параметр, поэтому '.attr ('defaultValue ') 'в другом случае выглядит странно – cypherabe

ответ

2

Вы можете взять еще один атрибут для старого заполнителя, как в моем коде, я принимаю data-placeholder, которые хранят старое значение, когда вы хотите, чтобы его можно было использовать в качестве старого заполнителя.

HTML

<input type='checkbox' name='u_id'> 
<input type="text" name="id" placeholder="ABC123" data-placeholder="ABC123"> 
                ^^^^^^^^^^^ 

JQuery

$('[name^="u_"]').change(function(){ 
    if($(this).is(":checked")) { 
     $(this).next("input, select").attr("disabled",true); 
     $(this).next("input, select").attr("placeholder", "New Holder"); 

    } else { 
     old_place_holder = $(this).next("input, select").attr("data-placeholder"); 
     $(this).next("input, select").attr("disabled",false); 
     $(this).next("input, select").attr('placeholder',old_place_holder) ; 
    } 
}); 

Demo

+0

Perfect thanks: D – Rocket

+0

Добро пожаловать @Rocket – Sadikhasan

Смежные вопросы