熱貼:datatable 與 單選銨鈕的結合 的2種方法
Mrpublic
2009-03-23
就是把查詢出來的對像用 datatable 顯出來后,在前有一個選擇框,選中后就把該列對像取出來傳到別的地方去。
我用了2種方法 第一種是用在<h:column>中用 <h:selectBooleanCheckbox value="#{selectedId[msg.id]}" /> 其中value值中 selectedId是一個hashMap對象,Key為 datatable綁定的查詢出來的對像的id值, 這個方法的缺點是 并不是單選按鈕,得寫一個js 來判斷 它 但在最后的 <h:commandButton action="#{}" value="ok" onclick="js代碼"/> 會出現不管你js判斷是不是單選,都要執行 action方法 第二種是 在<h:column> 中用<input type="radio" name="choose" value="#{selectedId[msg.id]}"> 但是 我沒有想到怎么去獲取 choose的值呀??(不是在js中用 ) 哪位朋友解決過這個問題呀?? 請分析分析。。。謝謝(seam中實現 ) |
|
Mrpublic
2009-03-23
呵呵,加個熱貼。。是為了引起注意哈 不好意思 因為這個問題太急了。。。
|
|
无双Rama
2009-03-24
期待答案。。。
|
|
sxlkk
2009-03-24
可否借鉴jsf的datatable的多选实现来解决这个问题吗,这是我写的jsf的datatable的多选实现http://sxlkk.iteye.com/blog/354386,在seam中我也能这样实现多选删除操作,但是不能进行选择一个进入修改操作
|
|
Mrpublic
2009-03-25
謝謝 和我的第一個方法差不多,我是想實現在datatable中實現單選的效果。。只能選中一個。。
|
|
sxlkk
2009-03-25
Mrpublic 写道 謝謝 和我的第一個方法差不多,我是想實現在datatable中實現單選的效果。。只能選中一個。。
这个应该用js控制一下就可以了,我在jsf中就是这样实现的 |
|
Mrpublic
2009-03-25
是可用js控制呀 但js控制不了<h:commandButton> 的action事件呀
不管選中一個還是多個執行完js 后都要執行action 我想讓沒是選中一個時不執行action呀 再次謝謝 |
|
Mrpublic
2009-03-25
沒辦法 只有在action中的方法寫一點代碼來控制吧
|
|
sxlkk
2009-03-25
不用吧,在调用完js时,如果返回的是false就不会运行action方法了
这是我jsf项目中的js控制,应该在seam中一样 js代码 function checked(){ var a = document.cmd.getElementsByTagName("input"); var b = 0; for (var i=2; i<a.length; i++){ if (a[i].type == "checkbox" && a[i].checked==true){ b++; } } if(b>1){ alert('不能对多个人员进行修改'); return true; } if(b<1){ alert('请选择一个人员进行修改'); return true; } } 下面是jsf组件 <h:commandLink action="#{departmentBean.editAction}" onclick="return checked();"> <img src="image/button/add1.jpg" border="0" /> <h:outputText value="编辑" /> </h:commandLink> |
|
Mrpublic
2009-03-25
嗯 我也覺得调用完js时,如果返回的是false就不会运行action方法了 但在我這兒就是要執行action
還有就是在seam中 i<a.length;如果這樣就要報錯 把<改為< 就不報錯。。。 哈哈 謝謝你的一直的熱心幫忙,goon... |