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
Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !
S'inscrirePublications associées | Réponses | Vues | Activité | |
---|---|---|---|---|
|
3
juil. 15
|
11030 | ||
|
0
mai 15
|
5653 | ||
|
0
avr. 23
|
442 | ||
|
2
mai 25
|
9746 | ||
|
3
mars 24
|
5404 |