ラジオボタングループとしてフィールドをカスタマイズしたフォームで表示しようとしています。各ラジオボタンをテーブルの異なる行に配置したいと思います。問題は、私が{{=form.custom.selection_type[0]}}
を使用すると、ウィジェットが不要なtr
とtd
タグでラップされている場合です。ラジオボタンだけを追加する方法はありますか?web2pyでカスタマイズしたフォームにラジオボタンを追加する
マイ形式:HTMLソースコードで何が起こっているかの
{{extend 'layout.html'}}
{{=form.custom.begin}}
<table>
<tr>
<td> {{=form.custom.selection_type[0]}}:</td>
<td> {{=form.custom.widget.biller_list}}</td>
</tr>
<tr>
<td> {{=form.custom.widget.selection_type[1]}}:</td>
<td> {{=form.custom.widget.biller_code}}</td>
</tr>
</table>
{{=form.custom.end}}
例:
<table>
<tr>
<td> <tr><td><input name="selection_type" type="radio" value="From my biller list" />From my biller list</td></tr>:</td>
...
</tr>
...
</table>
マイモデル:
db.define_table('payment_bpay_step1',
Field('selection_type', 'list:string'),
Field('biller_list', db.biller, notnull=True),
Field('biller_code'),
Field('biller_name'))
db.payment_bpay_step1.selection_type.requires = IS_IN_SET(('From my biller list', 'Search by biller code', 'Search by biller name'))
db.payment_bpay_step1.selection_type.widget = SQLFORM.widgets.radio.widget
ありがとう! IS_IN_SET()のlabels引数はうまくいきました。しかし、私はlamda関数を動作させることができませんでした。私は[あなたの他の回答](http://stackoverflow.com/questions/6596900/web2py-form-field-options)のいずれかであなたの回答を使用してカスタムウィジェットを作成しました。 – br3nt
上記のラムダ関数の解は、現在の安定版web2py(1.98.2ではありません)を使用している場合にのみ動作します。トランクはいつでも1.99.1としてリリースされます。今のところ、[こちら](http://code.google.com/p/web2py/source/checkout)を入手できます。または、[ウィジェットの新しいバージョン](http://code.google.com/p/web2py/source/browse/gluon/sqlhtml.py#286)をコピーしてカスタムウィジェットを作成することができます。 – Anthony