Блокировка определённых option у select
В форме есть input и select.
Нужно, чтоб когда в myinput введёно определённое слово, например Казахстан то в myselect блокировались определённые option, например option 1 и option 4 становились disabled. Как это реализовать с помощью jQuery? Догадываюсь только, что с помощью .attr("disabled", "disabled"); <form id="myform"> <input id="myinput"> <select id="myselect"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </form> |
<form id="myform">
<input id="myinput">
<select id="myselect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</form>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$('#myselect option[value="2"], #myselect option[value="4"]').attr('disabled', 'disabled');
</script>
|
cmd
Свет пролили, благодарю ) Только в вашем примере options изначально заблокированы, а нужно, чтоб после ввода определённого слова. |
Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
Понял, извиняюсь.
Думаю должно быть как-то так, но не заработало:
<form id="myform">
<input id="myinput">
<select id="myselect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</form>
$('#myinput [value="Кахазстан"]').change(function(){
$('#myselect option[value="2"], #myselect option[value="4"]').attr('disabled', 'disabled');
$('#myselect option[value="1"]').attr('selected', 'true');
});
только вместо .change конечно должно быть другое событие, определяющее соответствие введённого текста.. |
|
.keyup .keypress
.keyup и .keypress проверяют нажатие конкретной клавиши или их сочетания. Получается, нужно проверить нажатые подряд (но не одновременно) нужные символы.
|
$('#myinput').on('change keyup', function() {
|
Изначально я хотел получить значение input value по атрибуту .change, и если value соответствует, тогда событие.
Это было бы проще, т.к. нужно задавать не коды символов, а просто нужное слово |
$('#myinput').on('keyup', function() {
alert($(this).val());
});
|
| Часовой пояс GMT +3, время: 22:41. |