I have 2 fields(State and Country) in website form.
Can anybody help me, how to add dynamic domain to filter State based on Country.
How to achieve it??
Will onchange event work?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
I have 2 fields(State and Country) in website form.
Can anybody help me, how to add dynamic domain to filter State based on Country.
How to achieve it??
Will onchange event work?
Hi,
You can try like this
XML:-
<div class="col-12 col-sm-12 col-md-6 col-lg-6 py-3">
<label class="se-form-label"
for="country_id">
Country
</label>
<select name="country_id"
id="country_id"
class="form-control se-form-control">
<option selected="1"
disabled="1">
Select Country
</option>
<t t-foreach="countries or []"
t-as="country">
<option t-att-value="country.id">
<t t-esc="country.name"/>
</option>
</t>
</select>
</div>
<div class="col-12 col-sm-12 col-md-6 col-lg-6 py-3">
<label class="se-form-label"
for="state_id">
State
</label>
<select name="state_id"
id="state_id"
class="form-control se-form-control">
<option selected="1"
disabled="1">
Select State
</option>
<t t-foreach="states or []"
t-as="state">
<option t-att-value="state.id"
t-att-data-country_id="state.country_id.id">
<t t-esc="state.name"/>
</option>
</t>
</select>
</div>
JS:-
$("select[name='country_id']").change(function(){
var $select_state = $("select[name='state_id']");
$select_state.find("option:not(:first)").hide();
var nb = $select_state.find("option[data-country_id="+($(this).val() || 0)+"]").show().length;
$select_state.val(0);
});
Regards
Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.
InscribirsePublicaciones relacionadas | Respuestas | Vistas | Actividad | |
---|---|---|---|---|
|
3
jul 15
|
10952 | ||
|
0
may 15
|
5568 | ||
|
0
abr 23
|
442 | ||
|
2
may 25
|
9682 | ||
|
3
mar 24
|
5279 |