цикл для выбора значения поля

0

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

для одного: с идентификатором

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

<select class="foo"></select><select class="foo"></select>

а также:

$(document).ready(function() {
    var elm = document.getElementByClass('foo'),
    df = document.createDocumentFragment();
    for (var i = 0; i <= 60; i++) {
        var option = document.createElement('option');
        option.value = i;
        option.appendChild(document.createTextNode(" " + i));
        df.appendChild(option);
    }
    elm.appendChild(df);
});
Теги:

5 ответов

1
Лучший ответ

Поскольку вы используете jQuery, вы можете сделать так:

Демонстрация.

$('.foo').each(function() {
    for (var i = 0; i <= 60; i++) {
        $('<option />').val(i).html('#option ' + i).appendTo($(this));
    }
});
2

Я думаю, что вы хотите

document.getElementsByClassName('foo');

http://jsfiddle.net/5J29g/48/

  • 0
    у него есть проблемы с браузерами, лучше попробуйте document.querySelectorAll(".foo"); вместо getElementsByClassName , который я использовал в своем ответе
1

Я просто обновил ваш jsfiddle, добавив:

(function() {
var foos=document.querySelectorAll(".foo");
for(var j=0;j<foos.length;j++){
    var elm = foos[j],
        df = document.createDocumentFragment();
        for (var i = 1; i <= 42; i++) {
            var option = document.createElement('option');
            option.value = i;
            option.appendChild(document.createTextNode("option #" + i));
            df.appendChild(option);
        }
        elm.appendChild(df);
    }  
}());

образец проверить это, DEMO

1

Вы можете использовать селектор классов вместе с .append() и .clone()

$(document).ready(function () {
    var df = document.createDocumentFragment();
    for (var i = 0; i <= 60; i++) {
        var option = document.createElement('option');
        option.value = i;
        option.appendChild(document.createTextNode(" " + i));
        df.appendChild(option);
    }
    $('.foo').append(function () {
        return $(df).clone()
    })
});

Демо: скрипка

0

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

$('.foo').each(function(){
   // call your code create option element here with $(this).append()
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню