我在页面上有多个<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开始。
我该如何获得价值?
编辑-------------------------------------
我已经做了更多测试和当我做
var test = inputs[0];
jQuery(test).val("123")
HTML标记仍然显示日期。但如果我这样做(来自IntheWeeds)
jQuery(".inputDate").each(function() {
console.log($(this).val());
});
它返回123和“”,即使HTML标记中的值仍然是日期。
,为什么不走一路和使用'each'方法循环的投入? – ndugger 2015-02-11 15:42:57
有趣的提示:jsFiddle似乎不能正确支持文本输入的默认值。 – Skerkles 2015-02-11 15:43:49
尝试:$ .each($(“。inputDate”),function(){ console.log($(this).val()); }); – 2015-02-11 15:45:12