2012-01-03 2 views
0

У меня есть цикл, который создает выпадение 31 дня. дням 1-9 нужен нуль, добавленный к ним, например 01-09, чтобы убедиться, что сервер sql не вызывает ошибку. Я скорее сделаю это в jquery, а затем позже.доп. Ноль на день

for (i = 1; i < 32; i++) 
{ 
    if (i > 9) 
    { 
     $('#daypicker').append($('<option />').val(i).html(i)); 
    } else { 
     $('#daypicker').append($('<option />').val(i).html(i)); 
    } 
} 

поэтому мне нужно 01-31, а не 1-31.

ответ

2

Простейшее ответ - внутри цикла:

var str = (i >= 10) ? i : '0' + i; 

str затем использовать вместо i в .val() и .html() вызовов, убрав пункт if/else.

+0

работал большой, ТНХ. – Primetime

3

это не работает по какой-то причине:

} else { 
    $('#daypicker').append($('<option />').val('0' + i).html('0' + i)); 
} 
+0

уверен, что он работает, но он нарушает принцип «не повторяй себя». Правильная вещь - получить правильное отображаемое значение, а затем вызвать функции _once_ без предложения «else». – Alnitak

+0

Да, я это понимаю, но не уверен, что Primetime это сделал. Я ответил таким образом, что я предполагаю, что он соответствует его стилю программирования. –

+0

Вот как я пытался это сделать. Благодарю. – Primetime

0
for (i = 1; i < 32; i++) 
{ 
    var str = (i < 10) ? "0" + i : i; 
    $('#daypicker').append($('<option />').val(str).html(str)); 
}