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
Erstellen Sie heute ein Konto, um exklusive Funktionen zu nutzen und mit unserer tollen Community zu interagieren!
RegistrierenVerknüpfte Beiträge | Antworten | Ansichten | Aktivität | |
---|---|---|---|---|
|
3
Juli 15
|
11009 | ||
|
0
Mai 15
|
5632 | ||
|
0
Apr. 23
|
442 | ||
|
2
Mai 25
|
9714 | ||
|
3
März 24
|
5358 |