1

我正在使用 Jquery 的 datepicker 插件(效果很好)。然后我需要从选择的日期中提取“星期几”。

当使用foo.substring(0,3)分配前三个字符时,datepicker('getDate')我得到:TypeError foo.substr is not a function.

$(function () {
    $("#textDatepicker").datepicker();
});

function selectedDay() {
    var foo = $("#textDatepicker").datepicker('getDate');

    //IF USED.... alert(foo);
    //retuens (for example)..... 
    //"Thu Jul 18 00:00:00 GMT-0400 (Eastern Standard Time)"

    var weekday = foo.substr(0, 3)
    document.getElementById("dayofweek").innerHTML = "The day of the week selected is: " + weekday;
}

<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script src="https://jquery-blog-js.googlecode.com/files/SetCase.js" type="text/javascript"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"/>
</head>
<body>
Select Date:&nbsp;<input type="text" id="textDatepicker" onchange="selectedDay();">
<br><br>
<span id="dayofweek">Selected day of week replaces this</span>
</body>

我还粘贴在:jsfiddle

任何帮助将不胜感激..提前谢谢...

4

5 回答 5

7

采用

var weekday = foo.toString().substr(0, 3);

演示。

于 2013-07-18T23:37:04.443 回答
6
var foo = $("#textDatepicker").datepicker('getDate');

返回一个 Date 对象,而不是字符串,并且没有方法substr()

小提琴

您可以通过删除难看的内联事件处理程序并执行以下操作来解决它:

$("#textDatepicker").datepicker({
    onSelect: function() {
        var date = $(this).datepicker('getDate');
        var day  = $.datepicker.formatDate('DD', date);
        $('#dayofweek').html(day);
    }
});

小提琴

于 2013-07-18T23:32:40.400 回答
1
$("#textDatepicker").datepicker('getDate');

是一个对象。您不能使用 substr 获取对象的子字符串。

于 2013-07-18T23:33:19.387 回答
0

foo.substr(0,3) 是罪魁祸首。它返回一个日期对象,您可以对日期对象执行 substr。您可以使用以下代码解决问题

function selectedDay() {
    var foo = $("#textDatepicker").datepicker('getDate');

    //IF USED.... alert(foo);
    //retuens (for example)..... 
    //"Thu Jul 18 00:00:00 GMT-0400 (Eastern Standard Time)"

    var weekday = foo.getDay();
    document.getElementById("dayofweek").innerHTML = "The day of the week selected is: " + weekday;
}

于 2013-07-18T23:48:31.300 回答
0

在调用类似toString();之前调用了该方法 为我工作subString();foo.toString().subString(start,length);

于 2017-09-29T11:37:27.277 回答