我有多个<input class="form-control inputDate" type="text" value="12/31/1899 7:00 PM">
在一页上。我还有以下 JavaScript,
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
没有值(value)。我尝试打开控制台并进行测试(针对上面的 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());
});
即使 HTML 标记中的值仍然是日期,它也会返回 123 和“”。
最佳答案
您没有访问那里的值属性。尝试一下
var test = inputs[i];
jQuery(test).val();
或者使用.each方法:
var inputs = jQuery('.inputDate');
jQuery(inputs).each(
jQuery(this).val().split('/')[2];
// rest of the code don't forget to get rid of ending '}'
关于javascript - 无法从 <input> 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28458191/