繁体   English   中英

为什么无法获得此文本输入的值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM