0

我试图找出这个解决方案,但我还没有找到任何东西。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>
4

1 回答 1

0

这个 ;

$('.timepicker').timepicker({
    beforeShow: function(){
                    var validation = true;
                    if(validation){
                        $.timepicker.hide();
                       //this one should not be display since there is an error
                    }

                }
});
于 2013-02-07T09:33:49.133 回答