使用jcf插件选择(下拉列表)

时间:2013-02-01 15:03:18

标签: html css

我有一个国家和州的下拉列表。我们的UI设计师使用了jcf插件,它隐藏了真正的选择框并转换为一个控件,其外观和行为类似于下拉列表。当我不必从客户端动态填充这些选择框时,它运行良好。

我有一个国家/地区下拉列表,根据所选列表,我的状态下拉列表应填充。使用jcf,我可以看到真正的下拉列表(位于-9999px左侧)已填充,但只有第一个选项显示在替换它的控件中。有谁知道如何显示/填充修改后的控件。

谢谢,

5 个答案:

答案 0 :(得分:9)

编辑:这似乎在我更改之后重建了选择。

$('#myselectbox')[0].jcf.buildDropdown(); // Rebuild based on options
$('#myselectbox')[0].jcf.refreshState(); // Updates to current selected 

我有完全相同的问题,我正在从源头获得答案。

这个jcf.customForms“插件”似乎没有很多文档。您可能使用相同的服务(psdtohtml)或类似的公司将您的设计切割成HTML。这似乎是与该服务相关的一些自定义JavaScript。

通过查看源代码或使用console.debug(jcf.customForms);可以找到很多内容,但我还没有找到解决方案。我想出来的时候会更新。

我尝试过很多像

这样的东西
//jcf.customForms.setOptions(states[0]);
//jcf.customForms.refreshAll();
//jcf.customForms.refreshElement(states[0]);
//states.refreshState();

至于上一个答案,当您只是想重新加载一个选择时,似乎很奇怪initTabs();

答案 1 :(得分:2)

这是适合我的代码。 代码设置select字段值,然后设置refresh并使用jcf更改值,select字段将使用值为42的选项进行选择

jQuery("#select-element").val("42");

jcf.getInstance(jQuery("#select-element")).refresh()

答案 2 :(得分:1)

填充状态时,需要再次定义以下函数:

jcf.customForms.replaceAll();
initSlideShow();
initInputs();
initSameHeight();
initTabs();
fixSelect();initCounter();
initOpenClose();

答案 3 :(得分:0)

我只需要一行。及其通用解决方案。

$(document).ajaxComplete(function() {
  jcf.customForms.replaceAll();
});

干杯!!!

答案 4 :(得分:0)

您需要做的就是在选择框值更改时调用刷新方法

jcf.getInstance($("#select-box")).refresh()