我有一个<ul>
元素,我动态填充<li>
个元素。我希望控制这些<li>
元素,我的意思是让他们能够在那里设置我的bean的属性。更明确一点:一旦我点击<li>
,我希望其中的文本是属性的值。
以下是无序列表生成的代码:
<div data-role="content">
<ul data-role="listview" data-inset="true" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Région...">
<%
for (int i = 0; i < mdjsBean.getRegionList().size(); i++) {
String region_ = (String) mdjsBean.getRegionList().get(i) ;
%>
<li><a><%= region_ %></a></li>
<%}%>
</ul>
我希望它与JSF的selectOneMenu
标签类似,它为您提供选择并选择一个(其值将存储在您的bean属性中)。
有关如何在JSP和<ul>
以及<li>
标记中执行此操作的任何想法?
我的要求:
如图所示,它是jQuery(移动)的autocomplete widget,在我的情况下,我到目前为止成功检索了DB的“区域”值并将它们排列在列表视图中。在textarea中键入任意内容,列表视图开始过滤区域。
我希望现在点击该列表视图的一个元素并让它用选择的区域填充mdjsBean.region
属性(btw regionList是所有区域的列表,这个列表是从DB填充的,借助于一个java函数)。
提前致谢。
答案 0 :(得分:2)
我在这里看不到任何不简单的JS和Ajax,但客户端没有“bean”。你可以用DWR伪造它,它是JS和Ajax。
如果没有DWR,则需要将所选值发送到服务器,返回JSON以构建新选项,或者将HTML直接注入DOM。 (它与DWR实际上是一样的,但它包含在看起来很像Java的JS中。)
根据您的需要,调查为您完成此过程的框架可能是一个好主意,尽管IMO对于了解底层正在发生的事情非常重要。
它没有扭曲,根本不可能:JS = client,bean = server。如果要在没有页面刷新的情况下使用服务器端数据更新客户端,则Ajax是 选项(忽略长连接等)。