0

テーブルの各行に ajaxRadio があります。このラジオが選択されたら、scala 関数で 2 つのパラメーターを取得します。1 つ目は選択されたラジオ、2 つ目は行のデータ キーです。私のソースは次のとおりです。

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 _に、選択したラジオしか取得できません。行の 2 番目のパラメーター: データ キーを取得するにはどうすればよいですか。つまりvalues(1)

4

1 に答える 1

1

関数は、関数内のその時点ですべてのローカル状態を閉じることができます。次のものに置き換えることができるはずですdoRadioChange _

doRadioChange(_, values(1))

doRadioChangeもちろん、適切なパラメーターを受け入れると仮定します。

于 2012-06-25T21:26:47.307 に答える