我在加载页面时有一个带默认值的文本框:
<input id="txtYear" type="text" value="2013" />
加载页面后,用户可以在文本框中输入其他内容,例如2014
。
当我尝试这样做时:
var year = $("#txtYear").val();
即使用户将文字更改为2014,该值仍为2013
。
在这种情况下如何获取用户输入的值?
答案 0 :(得分:1)
将更改事件绑定到文本框。
您看到发生这种情况的原因是因为代码已经在用户输入新年时执行。
$('#txtYear').on('change', function () {
var year = $("#txtYear").val();
console.log(year)
}).change();
重构
var $year = $('#txtYear');
$year.on('change', function () {
var year = this.value;
console.log(year)
}).change();
答案 1 :(得分:0)
上面的答案确实很有效但是如果你看一下html源代码中的值,它仍然与加载时间相同,即“2013”
var year = $("#txtYear").val();
$("#txtYear").on("change",function(){
year = $(this).val()
$(this).attr("value",year);
alert(year);
});
alert(year);
在这里工作小提琴:http://jsfiddle.net/wDtRt/