我在同一页面上有多个 jPicker,如何一次打开一个 jPicker 对话框?

Posted

技术标签:

【中文标题】我在同一页面上有多个 jPicker,如何一次打开一个 jPicker 对话框?【英文标题】:I have multiple jPickers on same page ,how do i open single jPicker dialog at a time? 【发布时间】:2014-06-19 08:07:01 【问题描述】:

在同一页面上使用多个 jPickers,我的问题是当我一一点击所有三个时它保持打开状态。 jPicker 中是否有任何事件或方法通过我可以一次打开单个对话框?我检查了jPicker's site 他们有同样的问题所有对话框都保持打开状态。

js代码的sn-p,

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

【问题讨论】:

jPicker 在我看来有点糟糕,因为它缺乏标准功能,如回调和多个不重叠的选择器实现。看看这个eyecon.ro/colorpicker祝你好运! 谢谢,但不符合我的要求。 【参考方案1】:

将事件处理程序附加到一个元素,以便它关闭所有打开的jPicker 对话框,

逻辑是 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');
 );

这里是working fiddle

【讨论】:

更新了我的代码..这只是第一个......如果你能提供一个小提琴,我可以更好地帮助你:) 在小提琴上做起来似乎很复杂,但我会做演示让你知道。 可以给我那个演示页面链接吗? 你能发布你的演示链接吗? 我的意思是我在 jPicker 演示页面上尝试了我的代码,方法是在控制台上粘贴代码,它成功了 :)

以上是关于我在同一页面上有多个 jPicker,如何一次打开一个 jPicker 对话框?的主要内容,如果未能解决你的问题,请参考以下文章

jPicker 在重置按钮上重置背景颜色以及如何一次打开单个 jPicker 对话框?

当同一页面上有多个使用同一个类时,如何验证电子邮件提交表单?

当我在页面上有多个 Like 按钮时,是不是可以防止多次加载同一个 JS/CSS 文件?

如何在 jpicker 中使用多个回调

Laravel 4 - 同一页面上有多个表单?

同一页面上有多个 Google Analytics(分析)gtag 跟踪 ID