2011-12-07 4 views
2

У меня есть функция, которая устанавливает ввод текста в "" при каждом нажатии/сфокусировке. Он отлично работает, когда я жестко кодирует значения по умолчанию в массиве, однако я бы не хотел этого делать и вместо этого получал набор значений по умолчанию, поэтому я могу использовать его на нескольких страницах, не добавляя значения, чтобы вручную добавлять значения в массив.Получение набора входных значений

Я пытаюсь перебрать все входные, и создать массив, но мои NEWB навыки мешает мне делать это, вот то, что я до сих пор:

$(function() { 
    var defaultValues = $('input[type="text"]').each(function) { 
    $(this).val(); 
)}; // instead of simply ["default value 1", "default value 2"] 

    $('input[type="text"]').live("focus", function() { 
    $(this).css("color", "#000000"); 
    if (jQuery.inArray($(this).val(), defaultValues)) { 
     $(this).val(""); 
    } 
    }); 
}); 
+4

Оооопс, опечатка. Я просто отредактирую это ... noooooooooooo! Теперь я должен начать снова! – Quentin

+0

@Quentin - только что получил :) – karim79

ответ

4

Попробуйте .map вместо этого:

var defaultValues = $('input[type="text"]').map(function() { 
     return this.value; 
    }).get(); 

... и очистить свой синтаксис: |

Демонстрация: http://jsfiddle.net/Ew7h8/

+0

Из любопытства, как вам удалось опубликовать сообщение дважды? –

+4

Одиннадцать часов работы, два бокала вина, ремонт стиральной машины DIY, украденный iPhone 4S, сбрасываемый подругой. Ты спрашивал! – karim79

+0

@ karim79: здесь, голос жалости, несомненно, заставит все ваши проблемы исчезнуть! –

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