2015-09-14 3 views
-3

При использовании функции .each с JQuery, как показано ниже, в любом случае можно автоматически группировать результаты по типу, чтобы сэкономить некоторое время;Группа JQuery Selector по типу элемента

$(selector).each(function() { 
     //do stuff here for each found 
}); 

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

Чтобы подробнее узнать немного, у меня есть значение, и ему нужно входить в различные типы полей. Простые текстовые поля прекрасны, поскольку они просто вставляются с использованием .val(), но для других стандартных и настраиваемых полей, которые у меня есть, таких как picklists и multi-select boxes, мне нужно сделать некоторую логику вокруг значения для этих полей, чтобы соответствующие значения были установлены , но не все эти поля типа не существуют, поэтому не хотите заранее делать необходимую логику, если эти поля фактически не существуют. Поэтому, если бы у меня было 50 полей подборщиков, я бы, очевидно, только хотел бы сделать эту логику один раз и установить значения для всех полей picklist для этого значения (значений), которое была установлена ​​логикой. Я просто подумал, что это может быть простой метод JQuery, который я здесь отсутствует?

+2

объяснить то, что вы ищете –

+0

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

+1

, если полей не существует, код для них не будет работать. Он применяется только к найденным элементам DOM. –

ответ

0

Вы можете сделать некоторые ручное тестирование и запустить ваш код другой способ

var all = $(selector), 
    text = all.filter('[type="text"]'), 
    select = all.filter('select'); 

text.val(someValue); 
if (select.length){ // select elements exist 
    // do logic and apply to all 
    select.val(selectSpecificValue); 
} 
+0

Спасибо, Габи, подумайте, что я передумал весь сценарий! – r0bb077

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