使用Spock / Geb中的datepicker将日期设置为当前日期

时间:2013-12-02 18:05:14

标签: jquery jquery-selectors datepicker spock geb

我有以下代码:

<input type="text" class="datepicker span8" name="targetDeliveryDate" id="targetDeliveryDate" field="targetDeliveryDate" 
data-date-picker="true" data-date-future="true" data-date-format="dd-mm-yyyy" data-date-autoclose="true" value="dd-MM-yyyy">    

我一直使用以下代码设置日期:

$("#targetDeliveryDate").value  "01-12-2013"

请注意,这确实是静态的。然而,这就是要求。但我正在扩展我的测试,我需要将日期设置为当前活动日期。

我看过几个帖子但没什么作用。我尝试了以下但没有一个工作:

$("#targetDeliveryDate").val(new date());
$("#date_targetDeliveryDate").datepicker('setDate', new Date());

如果我们可以将日期设置为当前日期,请告诉我。

3 个答案:

答案 0 :(得分:1)

var d = new Date();
var currDate

if (d.getDate() > 9) currDate = d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()

else currDate = "0" + d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()

$('#targetDeliveryDate').val(currDate)

$("#targetDeliveryDate").datepicker({
    dateFormat: "dd-mm-yy"
});

DEMO

答案 1 :(得分:0)

这应该以您需要的格式为您提供日期:

var date = new Date();
var day = (date.getDay() < 10) ? "0" + date.getDay() : date.getDay();
var date_string = day + '-' + (date.getMonth() + 1) + '-' + date.getFullYear();

这应该以这种格式给你:“01-01-2013”​​(但是有当前日期,所以实际上是“02-12-2013”​​)

现在你只需要设置值:

$("#targetDeliveryDate").val(date_string);

答案 2 :(得分:0)

花了整整一个晚上试图弄清楚实现,我终于设法解决了它,代码片段如下:

Calendar cal = Calendar.getInstance()                   
def currentDate     

if(cal.get(cal.DAY_OF_MONTH) > 9){
currentDate = (cal.get(cal.DAY_OF_MONTH)) + "-" + (cal.get(cal.MONTH) + 1) + "-" +   cal.getWeekYear();
}else{
currentDate = "0" + cal.get(cal.DAY_OF_MONTH) + "-" + (cal.get(cal.MONTH) + 1) + "-" + cal.getWeekYear();
}

设置值:

$(#targetDeliveryDate").value   currentDate

感谢上面的回复。