Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
5315 Vistas

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?

Avatar
Descartar
Mejor respuesta

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

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
3
jul 15
10952
0
may 15
5568
0
abr 23
442
2
may 25
9682
3
mar 24
5279