【发布时间】:2011-11-27 06:08:35
【问题描述】:
如果有人使用过 jPicker,我真的很想得到一些帮助。我在表单中有一个 jPicker 输入框,当我使用 Ajax 发布表单时,我尝试将表单重置为原始值。除了我不知道如何将 jPicker 框重置为原始状态之外,有谁知道如何做到这一点?
【问题讨论】:
如果有人使用过 jPicker,我真的很想得到一些帮助。我在表单中有一个 jPicker 输入框,当我使用 Ajax 发布表单时,我尝试将表单重置为原始值。除了我不知道如何将 jPicker 框重置为原始状态之外,有谁知道如何做到这一点?
【问题讨论】:
jPicker 在$.jPicker.List[] 数组中维护其控件的信息。要删除与控件的 jPicker 关联,您需要销毁其在 $.jPicker.List[] 数组中的相应条目。
遍历数组中的项目列表以找到引用控件的项目
$.jPicker.List[index].id
当你在数组中找到你的控件时,用
销毁它$.jPicker.List[index].destroy()
销毁数组元素后,您需要删除与控件关联的 SPAN jPicker html 对象。如果只有一个你可以
$('span.jPicker').remove()
否则您将需要发现特定的 html 元素
$(rowParent).find('span.jPicker').remove();
可选:如果您使用类引用与 id 引用,请使用 .data() 函数标记您的控件并使用以下语句检索唯一值
$( $.jPicker.List[index] ).data()
【讨论】:
您可以尝试解除 jPicker 与元素的绑定,然后在要重置它后重新绑定它,应该将其恢复为默认设置。
【讨论】:
如上所述,您可以尝试这样的事情:
var id =$.jPicker.List[i].id; //getting the id of the element you've binded jpicker with
$.jPicker.List[i].destroy(); //destroying the instance in the jPicker List
$("#"+id).parent().find('span.jPicker').remove(); // destroying the span containing the graphical jPicker
$("#"+id).jPicker(); // And finally reinstancing the jPicker instance on your element
它应该让你的选择器闪烁(删除然后重新创建)。
【讨论】: