У меня есть выпадающий список со списком стран. Когда пользователь выбирает страну из раскрывающегося списка, запускается событие change
, и я использую оператор switch
для определения выбранного значения и добавления регионального кода страны в другое поле ввода для ввода пользователем своего номера телефона.Сделать поле ввода неизменным
проблема в том, что я не могу найти способ сделать код города неотредактированным. В идеале, когда пользователь фокусируется на вводе телефона, они не могут удалить код зоны.
Вот пример моего кода до сих пор:
//Detect the selected option in dropdown (UK By default)
$("select[name='country-name']").change(function() {
var country = $(this).val();
switch (country) {
case 'United Kingdom':
$("input[name='phone-name']").val('+44');
break;
case 'Ireland':
$("input[name='phone-name']").val('+353');
break;
case 'France':
$("input[name='phone-name']").val('+33');
break;
case 'Spain':
$("input[name='phone-name']").val('+34');
break;
}
});
//When focus on phone Number you cant edit the area code
$("input[name='phone-name']").focus(function(){
alert('edit phone');
});
и мой HTML:
<div class="form-group">
<div class="col-md-6">
<label class="control-label">Country</label>
<span>
<select name="country-name">
<option value="United Kingdom">United Kingdom</option>
<option value="Ireland">Ireland</option>
<option value="France">France</option>
<option value="Spain">Spain</option>
<option value="Other">Other</option>
</select>
</span>
</div>
<div class="col-md-6">
<label class="control-label">Phone</label>
<div>
<span>
<input type="text" name="phone-name" value="+44" size="40" maxlength="80" minlength="7"></span><i class="fa fa-times hide"></i><i class="fa fa-check hide"></i>
</div>
</div>
</div>
На данный момент код прекрасно работает и осуществляет ввод кода города во входной телефон коробки. Однако пользователь может затем сфокусироваться на поле ввода телефона и удалять +xxx
или +xx
(в зависимости от страны), если они того пожелают. Я бы хотел, чтобы они не сделали этого.
Любая идея была бы очень признательна.
Это мой JSFIddle:
https://jsfiddle.net/javacadabra/6dj7hmvu/
удобный способ, чтобы отделить часть, которую вы не хотите пользователю редактировать на другой вход. И сделайте этот ввод только для чтения. – fuyushimoya
Да, я думал, что, я думаю, если я не смогу это сделать выше, я прибегу к этому, просто в идеале я хотел бы сохранить все это в одном и том же поле ввода. – Javacadabra