В этой статье я собрал для себя и для посетителей основные задачи, которые приходится часто выполнять с элементами select, checkbox и radiobox на странице, чтобы не искать их в интернете. Здесь можно узнать как с помощью jQuery получить значение выбранного элемента, как выбрать элемент, добавить или удалить.
Работа с Checkbox и Radiobox на jQuery
Проверить состояние checkbox и radiobox
if ($('#checkbox').is(':checked')) { alert('Включен'); } else { alert('Выключен'); } // Другой вариант if ($('#checkbox').prop('checked')) { alert('Включен'); } else { alert('Выключен'); }
Отметить и снять checkbox или radiobox (поменять состояние "выбрано")
// Отметить checkbox $('#checkbox').prop('checked', true); // Отметить radiobox $('#radiobox').prop('checked', true); // Снять checkbox $('#checkbox').prop('checked', false); // Снять radiobox $('#radiobox').prop('checked', false);
Перебрать все отмеченные (выбранные) checkbox и radiobox на странице
// Перебрать все отмеченные checkbox $("input[type='checkbox']:checked").each(function(){ // что-то делаем }); $("input[type='radio']:checked").each(function(){ // что-то делаем }); // Сокращенный вариант $("input:checkbox:checked").each(function(){ // что-то делаем }); $("input:radio:checked").each(function(){ // что-то делаем });
Работа с Select на jQuery
Предположим, у нас есть такой выпадающий список select:
<select id="my_select" name="my_select"> <option value="1">Первое значение</option> <option value="2">Второе значение</option> <option value="3">Третье значение</option> </select>
С этим списком можно сделать множество различных действий. Я разгруппировал их по общему смыслу.
Получить option в select
Получить значение выбранного элемента select
$("#select option:selected").val(); // сокращенно $("#select :selected").val(); // или просто $("#select").val();
Получить текст выбранного элемента select
$("#select :selected").html(); // или $("#select :selected").text();
Выбор элемента option в select
Сделать выбранным первый option
$("#select :first").prop("selected", true);
Сделать выбранным второй option
$("#select :nth-child(2)").prop("selected", true);
Сделать выбранным option, у которого значение равно 2
$("#select option[value='2']").prop("selected", true); // сокращенно $("#select [value='2']").selected = true;
Сделать выбранным option, содержащий текст 'значение'
$("#select :contains('значение')").prop("selected", true); // или $("#select").find("option:contains('значение')").prop("selected", true); // или только первое вхождение: $("#select :contains('значение')").first().prop("selected", true); // или $("#select").find("option:contains('значение')").first().prop("selected", true);
Сделать все option в списке select выбранными
$('#select option:selected').each(function(){ this.selected = true; });
Проверить, выбран ли option в списке select
if ($("#select").val())
Добавление option в select
Добавить option в начало списка select
$("#select").prepend( $('<option value="0">тест</option>'));
Добавить option в конец списка select
$("#select").append( $('<option value="5">тест</option>'));
Добавить новый option после второго
$("#select option:nth-child(2)").after($('<option value="22">двадцать два</option>'));
Удаление option в select
Удалить первый option
$("#select :first").remove();
Удалить последний option
$("#select :last").remove();
Удалить option, у которого значение равно 2
$("#select option[value='2']").remove(); сокращенно: $("#select [value='2']").remove();
Очистить весь select (удалить все option)
$("#select").empty(); // или $('option', $("#select")).remove();
Блокировка / разблокировка select
Сделать select недоступным
$("#select").prop("disabled", true); // или $("#select").disabled = true;
Разблокировать select (сделать доступным)
$("#select").prop("disabled", false); // или $("#select").disabled = false;
Заблокировать выборочные option в select
Сделать недоступным option, у которого значение равно 3
$("#select option[value='3']").prop("disabled", true);
Сделать недоступными все option у которых value больше 10
$('#select option').filter(function() { return this.value > 10; }).prop("disabled", true);
Перебрать все option списка select
$('#select option').each(function(){ // какие-то действия с option });
Узнать количество элементов option в списке select
$("#select option").size();
Надеюсь, собранные здесь решения пригодятся не только мне, но и другим программистам. Постарался найти и написать примеры всех возможных задач. Если есть пожелания/предложения добавить что-то еще, напишите пожалуйста в комментариях ниже.
Комментарии к статье:
Добавить комментарий: