Создайте один элемент списка для каждого года, используя JQuery - PullRequest
0 голосов
/ 29 апреля 2011

Я создаю веб-приложение, которое представляет собой визуальное представление данных, отсортированных по годам, и в настоящее время имеет упорядоченный список лет в формате HTML, например:

<ol id="years">
    <li>1900</li>
    <li>1901</li>
    <li>1902</li>

    <li>1950</li>
</ol>

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

Для других функций я уже объявляю переменные firstYear и lastYear, которые соответствуют первому и последнему элементам в этом списке, то есть:

var firstYear = 1900;
var lastYear = 1950;

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

Если кто-нибудь может помочь мне написать функцию, чтобы сделать это, было быс благодарностью.

Ответы [ 5 ]

1 голос
/ 29 апреля 2011

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

var firstYear = 1900;
var lastYear = 1950;
for(var i =firstYear; i<=lastYear; i++) {
       $('#years').append('<li>'+i+'</li>')
}
0 голосов
/ 29 апреля 2011

Вы можете сделать это

function createYearList(start, end){
    var ul = $('<ul>').appendTo('body');

    for (i = start; i <= end; i++)
    {
        $('<li>').html(i).appendTo(ul);
    }
}

$(document).ready(function(){
    createYearList(1900, 1950);
});

Демо: http://jsfiddle.net/ynhat/ngmNF/

0 голосов
/ 29 апреля 2011

Вы хотите сказать, что хотите сгенерировать количество лет между заданным годом начала и окончания?

<ul id='years'>
</ul>

var startYear = 1950;
var endYear = 1965;

var $years = $('#years');
for (var i = startYear; i <= endYear; i++) {
    $years.append('<li>' + i + '</li>');
}
0 голосов
/ 29 апреля 2011
$(document).ready(function() {
  var firstYear = 1900;
  var lastYear = 1950;

  for (var i = firstYear; i++; i <= lastYear) {
    $('<li>' + i + '</li>').appendTo('ol#years');
  }
});
0 голосов
/ 29 апреля 2011
for(var y=1900; y <= 1950; ++y) 
    $('#years').append('<li>' + y + '</li>');

Видно работает здесь: http://jsfiddle.net/qDAVA/4/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...