我有一个输入类型文字:
<input type="text"
name="rif_p_<?=$rif['code']?>"
id="rif_p_<?=$rif['code']?>" />
还有一个日期时间本地
<input type="datetime-local"
name="rif_from_<?=$rif['code']?>"
id="rif_from_<?=$rif['code']?>" />
jQuery的:
$('[id^=rif_p_]').on('keyup change', function(){
var value = $(this).val();
alert(value); /* alerts correctly the value */
});
$('[id^=rif_from_]').on('keyup click change', function(){
var value = $(this).val();
alert(value); /* alerts '' */
});
现在,文本输入的第一个警报正确警告用户在字段上输入的值; datetime-local值始终为空。
为什么呢?
谢谢
注意:显然此警报仅用于测试目的
修改
好的我找到了解决方案,如果完整的日期/时间不是,则选择val为空。
现在这是我完整的jQuery函数,它在我完全插入日期/时间之前更新了值。使用文本可以正常工作,那么我如何更正它以使用日期时间?
$('[id^=rif_from_]').on('keyup click change', function(){
var rif_id = $(this).attr('id').split('_');
var id = rif_id[2];
var value = $(this).val();
/* This also updates the corrent editing element! So with datetime = '' */
$('[id$=_from_'+id+']').val(value);
});