我有一个带有一堆下拉列表作为过滤器的页面。假设我有一个租金过滤器:类型(公寓、房屋等...)、附近(海洋、山脉、河流、火车、摩天大楼...)、城市(纽约、洛杉矶、迈阿密、芝加哥)。 ..) 等等......每个过滤器都会进行回发并重新计算其他过滤器。例如,如果选择:靠近山脉并看到迈阿密没有山脉,因此迈阿密和其他城市不会在城市过滤器中......到目前为止等等......
我只是将此页面作为 iFrame 插入到其他页面中......但真的很难看。想要使用其中的一些 ExtJs 对象来帮助我。有很多网格面板的例子,但没有这样的......请给我一些建议或例子,这会很好。谢谢。
更多细节:
我找到了一些开始:http ://examples.ext.net/#/Form/ComboBox/Ajax_Linked_Combos/
或版本 1:http ://examples1.ext.net/#/Form/ComboBox/Ajax_Linked_Combos/
这是一个好例子。但是在我将代码移动到它自己的自定义用户控件之后,请求会命中主页的 on-Load 方法和用户控件以及页面的其他生命周期方法,而不仅仅是 CitiesRefresh() 方法。 ..我不想要那种行为,所以我改用代理<ext:HttpProxy Url="mypage.aspx" Method="POST" />
...
但我没有选定的值,如何发送?也许使用ExtraParams
,但我不确定。
另一件事是多个下拉菜单。所以我想我可以用 ddltarget 回复一个项目列表......比如:
data.Add(new { Id = id, Name = name, dllTarget= "Cities" });
<Fields>
<ext:RecordField Name="id" Type="String" Mapping="Id" />
<ext:RecordField Name="name" Type="String" Mapping="Name" />
<ext:RecordField Name="ddlTarget" Type="String" Mapping="ddlTarget" />
</Fields>
但是怎么读???当“城市”设置为它时使用 ddlTarget。????
<Load Handler="#{Cities}.setValue(#{Cities}.store.getAt(0).get('id'));" /> // doesn't care ddlTarget