Scala Lift:如何获取ajaxRadio参数

e4yzc0pl  于 2023-05-07  发布在  Scala
关注(0)|答案(1)|浏览(181)

我在table的每一排都有一个ajaxRadio。当选择这个Radio时,我希望scala函数获得两个参数:第一个是选定的无线电,第二个是该行的数据键。我的消息来源如下:

val radioList = List("wideArea", "oldArea","newArea")
def liftForm(xhtml: NodeSeq): NodeSeq = {  
    var areaList = newOrderList.map(values =>{
        <li id={values(1)} >
            <table>
                <thead></thead>
                <tbody>
                    <tr class = "real">
                        <td class="listImage">
                            <img class="areaImage" src={values(6)}/>
                        </td>
                        <td style="vertical-align:top;">
                            <tr><p class="areaName">{values(4)}</p></tr>
                            <tr><p class="areaComment">{values(5)}</p></tr>
                        </td>
                        <td class="listCheck" >
                            {ajaxButton(S.?("delete"), () => doDelete(values(1)), "class" -> "button delete")}
                        </td>
                    </tr>       
                    <tr>
                        <td></td>
                        <td>
                            {
                            val it = ajaxRadio[String](radioList,Box.legacyNullTest(values(2)),doRadioChange _).toForm.grouped(4)
                            for(i <- it)yield(<tr>{i.flatMap(y => <td> {y} </td>)}</tr>)
                            }
                        </td>
                    </tr>                   
                </tbody>
            </table>
        </li>})

    bind("list",xhtml,"areaList" -> <ul>{areaList}</ul>)

通过doRadioChange _,我只能得到选定的收音机。如何获取第二个参数:行的数据键。即values(1)

mwkjh3gx

mwkjh3gx1#

您的函数可以关闭函数中该点处的所有本地状态。您应该可以将doRadioChange _替换为:

doRadioChange(_, values(1))

当然,假设doRadioChange接受正确的参数。

相关问题