jQuery datepicker没有正确更新值

时间:2014-11-28 12:31:08

标签: javascript jquery jquery-ui datepicker jquery-ui-datepicker

在我正在工作的网站上,我有一个表格来添加活动。此事件需要用户使用jQuery日期选择器选择的日期。日期只能有一个事件。所以我想检查用户在datepicker中插入的日期。我尝试通过在用户选择日期后获取值来执行此操作。但问题是,日期选择器不会立即更新其价值。

我做了一个JSFiddle来显示问题。当您选择日期时,跨度会更新并显示日期选择器的值。但是你可以看到它第一次是空白的,第二次显示前一个选定的日期。因此,日期选择器不会立即更新。我怎样才能解决这个问题?

我在stackoverflow上看到了其他类似的问题,但他们的解决方案对我不起作用。

JSFiddle: http://jsfiddle.net/kmsfpgdk/

HTML:

<input type="text" id="datepicker" name="date" />
<span id="data"></span>

JS:

$('#datepicker').datepicker();

$('#datepicker').blur(function () {
    var val = $(this).val();
    $('#data').text(val);
});

3 个答案:

答案 0 :(得分:7)

最好使用内置方法onSelect:fn来使用:

$('#datepicker').datepicker({
   onSelect: function () {
       $('#data').text(this.value);
   }
});

Fiddle


根据文件:

  

onSelect

     

选择日期选择器时调用。该函数接收所选日期作为文本,并将datepicker实例作为参数接收。 指的是相关的输入字段。

答案 1 :(得分:1)

change事件发生在blur事件之前。

使用.change()代替.blur()

$('#datepicker').change(function() {
    var val = $(this).val();
    $('#data').text(val);
});

Updated jsFiddle Demo

答案 2 :(得分:0)

如果Google因为您的输入似乎未响应各种from selenium import webdriver from selenium.webdriver.chrome.options import Options def browser_function(): driver_path = "path/to/chromedriver" chr_options = Options() chr_options.add_experimental_option("detach", True) chr_driver = webdriver.Chrome(driver_path, options=chr_options) chr_driver.get("https://target_website.com") 事件而将您带到这里,则很可能是因为您在同一页面上有另一个具有相同require("inputmask").default 的元素