JS смена маски тел input
Подскажите пожалуйста с кодом. Как сделать изменение маски телефона в поле input при смене option в selct
Мой код:
$('select#shipping_address_country[name="shipping_address[country]"]').on('change', function() {
$('.co-input-field.js-input-field#client_phone[type="tel"]').val($(this).val());
}).change();
$(function(){
$("#client_phone").mask("+34(999) 999-9999");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="" style="padding-top:20px">
<input class="co-input-field js-input-field" type="tel" id="client_phone" name="client[phone]" value="">
<select class="co-input-field js-input-field" autocomplete="off" placeholder="" id="shipping_address_country" name="shipping_address[country]">
<option value="PT" selected="selected">Portugal</option>
<option value="ES">Spain</option>
</select>
Так-же в jsFiddle : https://jsfiddle.net/synapse3/0rc3x8pq/25/
сейчас выводится значение value, а нужно подставлять для Espain и Portugal - свои маски.
Спасибо
Ответы (1 шт):
Автор решения: Андрій Панчій
→ Ссылка
$('#shipping_address_country').on('change', function() {
let phone = $("#client_phone"),
mask = '';
switch($(this).val()) {
case 'PT':
mask = "+20(999) 999-9999";
break;
case 'ES':
mask = "+31(999) 999-9999";
break;
default:
mask = "+75(999) 999-9999";
break;
}
phone.mask(mask);
}).change();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
<div class="" style="padding-top:20px">
<input class="co-input-field js-input-field" type="text" id="client_phone" name="client[phone]" value="">
<select class="co-input-field js-input-field" autocomplete="off" placeholder="" id="shipping_address_country" name="shipping_address[country]">
<option value="PT" selected="selected">Portugal</option>
<option value="ES">Spain</option>
</select>
</div>