-1

この単純なタイム ピッカー アプリを作成しましたが、何らかの理由でこのコード スニペットが機能しません。うまくいきました(私の思い込みかもしれませんが)。

私は4つのラジオボタンを持っています。(jquery のライブ メソッドを使用して) クリック イベントが添付されている各ボタンを使用して、DIV を表示し、他の DIV を非表示にします。また、新しく表示されたDIVにプラグインのメソッドを追加しました(そう思っていました)。

以下のリンクを見てください。私の言いたいことがわかるでしょう。最初の DIV は機能しますが、後続の DIV は機能しません。私は何が欠けていますか?

ありがとう!

http://jsbin.com/ebige3

4

1 に答える 1

1

あなたのコードにはたくさんの問題があります。1 つには、id と を持つ複数のテキスト ボックスがありますがstarttimeendtimeid はドキュメント内で 1 回だけ出現する必要があります。

問題の原因は、ラジオボタンをクリックする、セレクターに一致するすべてのtimepicker要素に対して が初期化されるという事実です。これは、最初の(表示されている) が正常に動作し、選択フィールドが適切に配置されることを意味しますが、後続のフィールドでは、関連付けられている div が非表示になっているときに配置されているため、それらの位置は計算できません。$("#starttime, #endtime")divdiv

コードを変更して、div「毎日」や「毎週」ではなく「recur1」、「recur2」などと呼ばれる ID を持つようにし、それらのすべてに「recur」というクラスを与えることを検討します。次に、すべての if ステートメントを削除して、次のようにします。

$('.recur').hide();
$('#recur'+recurType).show();

また、これを実行できるようになり、問題が解決します。

$('#recur'+recurType).find("#starttime, #endtime").timePicker({ ... });
于 2009-12-30T07:35:42.887 に答える