2

同じページで複数の jPickers を使用している場合、私の問題は、3 つすべてを 1 つずつクリックすると開いたままになることです。一度に1つのダイアログを開くことができるjPickerのイベントまたはメソッドはありますか? すべてのダイアログが開いたままになるという同じ問題があるjPickerのサイトを確認しました。

js コードのスニペット、

$(function() {
  $('#id1').jPicker();
});
$(function() {
  $('#id2').jPicker();
});
$(function() {
  $('#id3').jPicker();
});
4

1 に答える 1

1

jPicker開いているすべてのダイアログを閉じるように、イベント ハンドラーを elem にアタッチします。

ロジックは、jPicker には を使用して初期化された順序でコンテナが DOM に追加されるため.jPicker()、クリックされたコンテナを除く他のすべてのコンテナのダイアログを閉じます。

これはデモページで機能しているように見えました..

//For #id1 jPicker
  $("span.Image").click(function(){
    $('div.jPicker.Container').not(':eq('+$("span.Image").index($(this))+')').find('table input.Cancel').trigger('click');
 });

ここに作業フィドルがあります

于 2014-05-02T16:04:37.610 に答える