【问题标题】:I can't get last selected date to show up in datepicker我无法在日期选择器中显示最后选择的日期
【发布时间】:2012-11-19 23:57:50
【问题描述】:

我有这个脚本

var day_name = $("#d_day_name").val(); var month_name = $("#d_month_name").val(); day_name = day_name.split(","); 月名 = 月名.split(",");

        $(".datepick").datepicker({
            dateFormat: 'yy-mm-dd',
            dayNamesMin: [day_name[0],day_name[1],day_name[2],day_name[3],day_name[4],day_name[5],day_name[6]],
            monthNames: [month_name[0],month_name[1],month_name[2],month_name[3],month_name[4],month_name[5],month_name[6],month_name[7],month_name[8],month_name[9],month_name[10],month_name[11]],
            closeText: $("#d_close_text").val(),
            prevText: $("#d_prev_text").val(),
            nextText: $("#d_next_text").val(),
            currentText: $("#d_current_text").val()
        });
        $("#btnAddPrice").click(function () {
            var $tbody = $("#tblPrices tbody"),
                h = $tbody.find("tr:last").find("td:first").html(),
                i = (h === null) ? 0 : parseInt(h);
            $tbody.append('<tr id="tr_' + (i + 1) + '"><td>' + (i + 1) + '</td><td><input type="text" name="date_from[]" class="text w80 pointer datepick" readonly="readonly" /></td><td><input type="text" name="date_to[]" class="text w80 pointer datepick" readonly="readonly" /></td><td><input type="text" name="price[]" class="text_small align_right" /></td><td><input type="text" name="weekprice[]" class="text_small align_right" /></td><td><a class="icon icon_delete" href="#" onclick="$(\'#tr_' + (i + 1) + '\').remove(); return false;">delete</a></td></tr>');            

$tbody.find("tr:last").find(".datepick").datepicker({dateFormat:"yy-mm-dd"}); });

我试图将新的 Date(+1) 放入日期选择器而不是 dateFormat 中,以便日期选择器将从最后选择的日期开始,但这不起作用。而且我似乎无法弄清楚我能做些什么来完成这项工作。 我在网上找遍了,但没有找到答案。

【问题讨论】:

    标签: jquery datepicker


    【解决方案1】:

    您引用的是表格单元格 (td) 而不是日期选择器 (input)。这意味着您需要使用.val()。如果您引用td 并使用.html(),它将返回&lt;input class='datepick' /&gt;,因为您正在获取单元格的内容。

    要在日期选择器中查找当前值,您需要这样做:

     $tbody.find("tr:last").find("td:first").find(".datepick").val()
    

    要设置另一个日期选择器的值,请使用:

    $tbody.find("tr:last").find(".datepick").datepicker({dateFormat:"yy-mm-dd"}).val('PUT DATE HERE');
    

    希望这会有所帮助!

    编辑:

    请参考:http://api.jqueryui.com/datepicker/#option-defaultDate

    要更改默认日期,请执行以下操作:

    $tbody.find("tr:last").find("td:first").find(".datepick").datepicker({ defaultDate: +1 });

    【讨论】:

    • 那不行,我都试过了。只有一个日期选择器可以设置日期,我相信它会形成一个圆圈,所以它总是从今天开始。
    • 听起来您指的是默认日期。我对最初的帖子进行了编辑。
    • 不,一切都不是从今天开始的,而不是从最后给定的日期开始的。在第二个输入中,它也从今天开始,我希望它从第一个输入日期的日期开始。如果我更改某些内容,它会创建一个新表,但日期选择器不会出现。
    • 制作一个 jsfiddle.net,我会协助
    • 我想要,但我只有 php,它是 html。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    相关资源
    最近更新 更多