所以我在一个 web 应用程序中同时使用了 knockoutjs (v 3.2.0) 和 fancyforms (v 1.4.2) 发现了以下问题:
我有两个select
框(后面称为“下拉菜单”)和一个 html 页面上的两个链接。
现在所需的行为如下(只是一个简短的伪代码,请参见下面的 jsfiddle-scenarios):
if(dropdown1.value == "a1"){
dropdown2.value = "b3";
dropdown2.hide()
chosenlinkbutton = chosenlinkbutton1;
chosenlinkbutton2.hide(); //realized via knockoutjs-visiblebinding and a param
} else {
//show and reset stuff...
}
问题是:我的第二个下拉菜单没有被隐藏。相反,会出现另一个下拉菜单。当我调查这个问题时,我发现这是因为 fancyform 将实际的选择框转换为 ul/li-list 结构。但老实说,我不知道如何(重新)将我的绑定应用于生成的 fancyform 代码或在更改值后重新实例化 fancyform,所以我希望你能在这里帮助我。
JSFiddle 显示问题。只需将“weekView”更改为“monthView”即可查看其他下拉菜单不会消失:http: //jsfiddle.net/fnmav1e8/8/
还有一个带有注释掉的花式形式的工作 JSFiddle:http: //jsfiddle.net/fnmav1e8/7/
在这个版本中,我实际上只是注释掉了这一行
$("select").transformSelect();
但遗憾的是,我需要该应用程序与 fancyform 一起使用,所以我希望你们中的一些人能在这里帮助我!
最好的问候, 多米尼克