SORU
29 Aralık 2011, PERŞEMBE


Javascript ile ekleme seçenekleri seçmek için

Bu javascript=kimlikle seçin 12 100 seçenekleri oluşturmak istiyorum"seçeneğini Etiketleri el ile bütün oluşturmak istemiyorum. çünkü", mainSelect Bana birkaç ipucu verebilir misin? Teşekkürler

function selectOptionCreate() {

  var age = 88;
  line = "";
  for (var i = 0; i < 90; i  ) {
    line  = "<option>";
    line  = age   i;
    line  = "</option>";
  }

  return line;
}

CEVAP
29 Aralık 2011, PERŞEMBE


for basit bir döngü ile elde edebiliriz:

var min = 12,
    max = 100,
    select = document.getElementById('selectElementId');

for (var i = min; i<=max; i  ){
    var opt = document.createElement('option');
    opt.value = i;
    opt.innerHTML = i;
    select.appendChild(opt);
}

JS Fiddle demo.

İkisi de benim ve Sime Vidas' answer, 13 ** karşılaştırma onun benimkinden biraz daha anlaşılır/sezgisel görünüyordu ve bu uygulama çevirmek nasıl olacağını merak ettim düşündüğüm için çalıştırın. 14/Krom Ubuntu 11.04 göre biraz daha hızlı benim,/platformlar farklı sonuçları olsa da muhtemelen diğer tarayıcılar.

< / ^ hr .

Düzenlenmişyanıt olarak OP yorum için:

[Nasıl] [İ] birden fazla eleman için bunu uygulamak?

function populateSelect(target, min, max){
    if (!target){
        return false;
    }
    else {
        var min = min || 0,
            max = max || min   100;

        select = document.getElementById(target);

        for (var i = min; i<=max; i  ){
            var opt = document.createElement('option');
            opt.value = i;
            opt.innerHTML = i;
            select.appendChild(opt);
        }
    }
}
// calling the function with all three values:
populateSelect('selectElementId',12,100);

// calling the function with only the 'id' ('min' and 'max' are set to defaults):
populateSelect('anotherSelect');

// calling the function with the 'id' and the 'min' (the 'max' is set to default):
populateSelect('moreSelects', 50);

JS Fiddle demo.

Ve son olarak (sonra uzunca bir gecikme...), bir yaklaşım uzanan prototip HTMLSelectElement sipariş için zincir populate() fonksiyon gibi bir yöntem, DOM düğüm:

HTMLSelectElement.prototype.populate = function (opts) {
    var settings = {};

    settings.min = 0;
    settings.max = settings.min   100;

    for (var userOpt in opts) {
        if (opts.hasOwnProperty(userOpt)) {
            settings[userOpt] = opts[userOpt];
        }
    }

    for (var i = settings.min; i <= settings.max; i  ) {
        this.appendChild(new Option(i, i));
    }
};

document.getElementById('selectElementId').populate({
    'min': 12,
    'max': 40
});

JS Fiddle demo.

Referanslar:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • martin shervington

    martin sherv

    7 EKİM 2011