我试图找出这个解决方案,但我还没有找到任何东西。timepicker 有 beforeShow 属性。我想要实现的是,在显示时间选择器之前,我想做一些验证。如果验证通过,则时间选择器会出现,但如果验证失败,则时间选择器不会弹出。我怎样才能做到这一点?我试着把
beforeShow: function(){return false},
但什么也没发生
编辑:
我遇到了一个解决方案,说删除该字段并替换为新字段。Tt 有效,时间选择器不再出现。但是,如果验证通过,则必须可以再次使用该字段。现在我不能。似乎文本字段没有被正确的替换。因为当我提醒 parentNode 时,它正在获取<td>
节点,而不是<form>
节点。我把那个表格放在桌子上。我的 JS 代码:
$('input[id^=timepicker]').timepicker({beforeShow: function(instant){
if(!validation){ //validation fail
var element = document.getElementById(instant.id);
var clonedElement = element.cloneNode(true);
var parentElement = element.parentNode;
parentElement.replaceChild(clonedElement, element);
else{
$("#"+instant.id).timepicker();
}
}
});
我的 HTML 就像
<form>
<table>
<tr><td><input type="text" id="timepicker1" name="tp" readonly="true"/></td></tr>
</table>
</form>