У меня есть несколько <input class="form-control inputDate" type="text" value="12/31/1899 7:00 PM">
на странице. У меня также есть следующие JavaScript,не может получить значение от <input>
var inputs = jQuery('.inputDate');
for (var i = 0; i < inputs.length; i++) {
console.log("test");
jQuery(inputs[i]).val().split('/')[2];
var input = jQuery(inputs[i]).val().split('/')[2];
console.log("TEST" + input);
if (input.length > 4) {
input = input.split(" ")[0];
}
if (input < '2015') {
jQuery(inputs[i]).val("");
}
}
Проблема заключается в том, что var input
не имеет значения. Я попытался открыть консоль и тестирование (против html сверху), и ничего не получает значение.
Я попытался,
jQuery(inputs[i]).val();
jQuery(inputs[0]).val();
document.getElementsByClassName("inputDate")[0].value;
Но ничего возвращает значение. Я думаю, что часть проблемы заключается в том, что значение устанавливается в бэкэнд до 1899 вместо начала null.
Как я могу получить стоимость?
EDIT -------------------------------------
Я сделал больше тестирование и когда я сделаю
var test = inputs[0];
jQuery(test).val("123")
HTML-разметка по-прежнему показывает дату. Но если я (от IntheWeeds)
jQuery(".inputDate").each(function() {
console.log($(this).val());
});
возвращает 123 и «», даже если значение в HTML-разметку еще дату.
Если вы используете jQuery, почему бы не пройти весь путь и использовать метод 'each' для циклического ввода ваших входов? – ndugger
Интересное примечание: jsFiddle не поддерживает должным образом значение по умолчанию для ввода текста. – Skerkles
try: $ .each ($ (". InputDate"), function() { console.log ($ (this) .val()); }); –