0

看起来很简单,但我尝试的任何方法都不起作用。我有一个 jquery ui datepicker,我使用 val() 在按钮 click() 上获取该输入的值,然后记录它。点击事件正在工作。我可以记录我自己编写的字符串,但是当我通过 console.log() 存储日期选择器值的变量时......什么都没有。我尝试使用 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>
4

2 回答 2

3

如果要分配输入字段的值,则应在单击中声明日期变量。通过下面的代码。您实际上在页面加载后不久就进行了初始化,但在您的情况下不是正确的方法。

$(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

});
于 2013-06-30T16:11:38.170 回答
1

我不确定你想做什么。但我认为你应该把这个放在: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);
    });
});
于 2013-06-30T16:12:36.403 回答