jQuery Datepicker错误 - n未定义

时间:2014-06-30 17:01:11

标签: javascript jquery html jquery-ui datepicker

我在隐藏字段的表单上使用jQuery Datepicker,然后单击链接以编辑值。

<a class="pickDate edit-link" id="reqSubmitDate">Thu, Feb 27, 2014</a>

<input type="hidden" value="Thu, Feb 27, 2014" id="reqSubmitDateinput" name="RequisitionSubmitDate" class="hasDatepicker">

我在隐藏输入上启动了datepicker。

$('#reqSubmitDateinput, #orderAckDateinput, #deliveryDateinput').datepicker();

单击该链接,它会打开其匹配输入的日期选择器。

$('.pickDate').click(function () {
    var id = $(this).attr('id');
    var input = id + 'input';
    $('#' + input).datepicker('show');
});

然后它使用我设置的默认值来获取用户选择的日期,并设置隐藏输入的值。

$.datepicker.setDefaults({
    minDate: 0,
    onSelect: function (date) {
        var id = $(this).attr('id');
        id = id.slice(0, -5);
        $('#' + id).text(date);
    }
});

它似乎在前两个方面工作正常,但在最后两个方面没有工作,尽管只有ID不同并且符合相同的格式。我明白了:

TypeError: n is undefined jquery.....min.js (line 5)

似乎停止显示选择器。

我尝试将前两个移动到那个没有工作的那个之后,看看它是否存在多少问题,而不是它。我也尝试将非工作区域移到其他区域附近。没有运气。

按要求提供jsfiddle:http://jsfiddle.net/ZGD6B/

1 个答案:

答案 0 :(得分:2)

我使用jquery的隐藏字段遇到了类似的问题。我通常使用hack隐藏字段以使jQuery合作:

<input style="height: 0px; width:0px; border: 0px;" id="deliveryDateinput" name="DeliveryDate" value="@Model.GEP.OrderDeliveryDate" />

http://jsfiddle.net/btc2h/1/