0

これの解決策を見つけようとしていますが、まだ何も見つけることができません.timepickerのbeforeShowプロパティがあります。私が達成したいのは、タイムピッカーを表示する前に、いくつかの検証を行いたいということです。検証に合格するとタイムピッカーが表示されますが、失敗するとタイムピッカーは表示されません。どうすればこれを達成できますか?入れてみました

beforeShow: function(){return false}, 

しかし、何も起こりません

編集:

そのフィールドを削除して新しいフィールドに置き換えるという解決策に出くわしました。Tt は動作します。タイムピッカーはもう表示されません。ただし、検証に合格した場合は、そのフィールドを再度使用できる必要があります。今はできません。テキストフィールドが正しいものに置き換えられていないようです。親ノードに警告すると、<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 に答える