浏览 2339 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-13
最后修改:2009-09-02
我没发现richFaces还有没其它的控件可以实现此功能; 不要告诉我用<rich:comboBox> ,它是一样在没有名值对应: <rich:comboBox value="#{comboBoxBean.value}" suggestionValues="#{capitalsBean.capitalsNames}"/> 如果有更好的请告诉我; 我的解决方案是: 1:fetchValue="#{result.cid}^_^#{result.cfullname}" 选择来的是两个值; 2:onselect="toSplit('form:selid','form:in_id');" > 在选择的时候分开再分别存放 3:用隐藏控件<<h:inputHidden value="#{myBean.obj.id}" id="in_id"/> 4:来接收ID,用<h:inputText value="#{myBean.name}" id="selid" >显示名字; suggestionBox 的bean是基于richFaces3.2中demo中的suggestionBoxBean,用于控制显示样式之类 <h:outputText value="选择单位" /> <h:inputHidden value="#{myBean.obj.id}" id="in_id"/> <h:inputText value="#{myBean.name}" id="selid" required="true" requiredMessage="查询单位必须输入" /> <a4j:region renderRegionOnly="true"> <rich:suggestionbox id="suggestionBoxId" for="selid" tokens=",[" rules="#{suggestionBox.rules}" suggestionAction="#{suggestionBean.autocomplete}" var="result" fetchValue="#{result.cid}^_^#{result.cfullname}" first="#{suggestionBox.intFirst}" minChars="#{suggestionBox.minchars}" shadowOpacity="#{suggestionBox.shadowOpacity}" border="#{suggestionBox.border}" width="#{suggestionBox.width}" height="#{suggestionBox.height}" shadowDepth="#{suggestionBox.shadowDepth}" cellpadding="#{suggestionBox.cellpadding}" nothingLabel="没有对应的单位" onselect="toSplit('form:selid','form:in_id');" > <h:column> <h:outputText value="#{result.cfullname}" /> </h:column> </rich:suggestionbox> </a4j:region> toSplit()方法: // 分割suggestionBox的ID和名称,分割符为 ^_^ function toSplit(id,inid){ var input = document.getElementById(id).value; ss = input.split("^_^"); document.getElementById(inid).value=ss[0]; document.getElementById(id).value=ss[1]; return true; } 这个解决方案是在我们老大的提示下实现的,顺便赞一下我们老大 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-14
共享精神很可贵
|
|
返回顶楼 | |