[英]Why can't I get the value of this text input?
看起来很简单,但是我尝试的任何方法都没有用。 我有一个jQuery ui datepicker,我使用val()获取按钮click()上的输入值,然后将其记录下来。 点击事件正在运行。 我可以记录自己编写的字符串,但是当我通过console.log()时,存储datepicker值的变量……什么也没有。 我试过使用html()和text()代替val(),仍然没有
//JS
$(function(){
$("button").button();
$("#date").datepicker();
var date = $("#date").val();
$("button").click(function(){
// this logs
console.log("event working");
// but this logs nothing
console.log(date);
});//close click
});//closes function
//HTML
<!DOCTYPE html>
<html>
<head>
<script src="http://www.parsecdn.com/js/parse-1.2.8.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="http://myDomain/bn/lbStyle.css"/>
<script src="http://myDomain/index.js"></script>
<title>
Welcome to The Bringer Network
</title>
</head>
<body>
<form id="dialog">
<p>Date <input type="text" id="date"/></p>
<button>Submit</button>
</form>
</body>
</html>
如果要分配输入字段的值,则应在click内声明日期变量。 通过下面的代码。 您实际上是在页面加载后不久初始化的,这不是您的情况的正确方法。
$(function(){
$("button").button();
$("#date").datepicker();
$("button").click(function(e){
e.preventDefault();
var date = $("#date").val();// look this line. It should be inside.
console.log("event working");
console.log(date);
});//close click
});
我不确定您要做什么。 但是我认为您应该放置: var date = $("#date").val();
在您的click
事件中。 因为您的代码在为空时会分配该字段的.val()
。 这就是您的var date
为空的原因。
http://jsfiddle.net/FnGmS/-这是此代码的有效演示:
$(function () {
$("button").button();
$("#date").datepicker();
$("button").click(function () {
var date = $("#date").val();
console.log("event working");
console.log(date);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.