odoo如何在网站模板中设置选定的属性
odoo how to set selected attribute in website-template
我在 Odoo 中遇到了一些麻烦,为网站公式设置 selected 属性。
我在底层模型中有一些数据,这些数据显示在表单内的 table 中。这些行显示正确,但 select 字段的值设置不正确。它始终显示 select 列表中的第一个值,而不是模型中保存的值。
<t t-foreach="quote_lines" t-as="quote_line">
<tr>
<td>
<!-- public categories for a selection field -->
<select t-attf-name="supplier_{{quote_line.line}}">
<t t-foreach="categories" t-as="c">
<t t-if="c.name==quote_line.supplier"><option t-field="c.name" selected="selected" /></t>
<t t-if="c.name!=quote_line.supplier"><option t-field="c.name" /></t>
</t>
</select>
</td>
....
</tr>
</t>
表单已加载到 odoo 中并显示正常 - 除了 -tag 忽略了我的 selected 属性。当我查看生成的 html 时,设置了 select/option 值,只是忽略了此属性。
任何提示我做错了什么或只是没有看到?
尝试使用 selected="True"
此外,看看 website_sale 对国家/地区的影响:
<div t-attf-class="form-group #{error.get('shipping_country_id') and 'has-error' or ''} col-lg-6">
<label class="control-label" for="shipping_country_id">Country</label>
<select name="shipping_country_id" class="form-control" t-att-disabled=" 'disabled' if shipping_id >= 0 else ''">
<option value="">Country...</option>
<t t-foreach="countries or []" t-as="country">
<option t-att-value="country.id" t-att-selected="country.id == checkout.get('shipping_country_id')"><t t-esc="country.name"/></option>
</t>
</select>
</div>
https://github.com/odoo/odoo/blob/9.0/addons/website_sale/views/templates.xml#L1072-L1080
我在 Odoo 中遇到了一些麻烦,为网站公式设置 selected 属性。
我在底层模型中有一些数据,这些数据显示在表单内的 table 中。这些行显示正确,但 select 字段的值设置不正确。它始终显示 select 列表中的第一个值,而不是模型中保存的值。
<t t-foreach="quote_lines" t-as="quote_line">
<tr>
<td>
<!-- public categories for a selection field -->
<select t-attf-name="supplier_{{quote_line.line}}">
<t t-foreach="categories" t-as="c">
<t t-if="c.name==quote_line.supplier"><option t-field="c.name" selected="selected" /></t>
<t t-if="c.name!=quote_line.supplier"><option t-field="c.name" /></t>
</t>
</select>
</td>
....
</tr>
</t>
表单已加载到 odoo 中并显示正常 - 除了 -tag 忽略了我的 selected 属性。当我查看生成的 html 时,设置了 select/option 值,只是忽略了此属性。
任何提示我做错了什么或只是没有看到?
尝试使用 selected="True"
此外,看看 website_sale 对国家/地区的影响:
<div t-attf-class="form-group #{error.get('shipping_country_id') and 'has-error' or ''} col-lg-6">
<label class="control-label" for="shipping_country_id">Country</label>
<select name="shipping_country_id" class="form-control" t-att-disabled=" 'disabled' if shipping_id >= 0 else ''">
<option value="">Country...</option>
<t t-foreach="countries or []" t-as="country">
<option t-att-value="country.id" t-att-selected="country.id == checkout.get('shipping_country_id')"><t t-esc="country.name"/></option>
</t>
</select>
</div>
https://github.com/odoo/odoo/blob/9.0/addons/website_sale/views/templates.xml#L1072-L1080