我使用Jquery UI Datepicker插件作为DateTimePicker http://jsfiddle.net/j5rkbnrt/1/
<input id="deliveryTime" name="deliveryTime" type="text" value="08/05/2015 10:00">
$('#deliveryTime').datetimepicker({
dateFormat: 'dd/mm/yy',
timeFormat: 'HH:mm',
});
DateTimePicker与输入字段相关联。 当我选择日期时,输入字段的值不会更改。 所以当我提交包含此输入的表单时,我总是得到默认值。
我查看了默认的jquery datepicker,但也没有改变输入的值。 https://jqueryui.com/datepicker/
我在这里缺少什么?
答案 0 :(得分:10)
您将内联value
属性与输入字段包含的实际值混淆。
通过属性值,我的意思是:
<input id="deliveryTime" name="deliveryTime" type="text" value="08/05/2015 10:00">
值属性为value="08/05/2015 10:00"
。值可以是您在输入字段中输入的任何日期。
因此,即使属性为value="08/05/2015 10:00"
,输入的实际值(即输入字段中的任何文本)都是实际值。
当您在输入中输入新值然后使用$('#deliveryTime').val()
时,您会看到新值是输入字段内文本的实际值。
如果您热衷于更改输入字段的属性,由于val()
已经返回该值,我发现它有点模糊,那么您需要执行以下操作:
$('#deliveryTime').change(function(){
$(this).attr('value', $('#deliveryTime').val());
});
所以&#34;在每次更改deliveryTime时,将value
属性设置为输入值&#34;。 Fiddle!
正如我所说,这是模棱两可的。我建议只使用$('#deliveryTime').val()
来实现同样的目的。
答案 1 :(得分:0)
它的作品!它更新输入的值,但在chrome devtools中它不显示此更新。尝试提交此表单并检查网络,然后您将看到所有数据都已正确发送:)
答案 2 :(得分:0)