jQuery - управление элементом select


Элемент select позволят осуществлять пользавателю выбор из списка необходимую опцию или несколько опций в случае множественного выбора. Довольно часто необходимо управлять элементом select в динамике. Здесь я привожу некоторые шпаргалки по управлению элементом с помощью библиотеки jQuery

Для начала создадим html элемент select с набором опций option с тестовыми значениями.

HTML
<select id="tema" style="width: 70px;">
    <option value="html">HTML</option>
    <option value="php">PHP</option>
    <option value="js">JS</option>
    <option value="jquery" selected>jQuery</option>
    <option value="css">CSS</option>
</select>

Получаем значение value, выбранной опции элемента select:

JS
$('#tema').val(); // jquery

Получаем текст, выбранной опции элемента select:

JS
$('#tema option:selected').text(); // jQuery

Делаем элемент select недоступным и наоборот.

JS
//Удаление выбранной опции option элемента select
$("#tema :selected").remove();

//Удаление первой опции option элемента select
$("#tema :first").remove();

//Удаление последний option элемента select
$("#tema :last").remove();

//Удаление option у которого value='html' из списка элемента select
$("#tema option[value='html']").remove();
$("#tema [value='html']").remove(); // сокращенно

//Удаление всех option элемента select
$("#tema").empty();

Удаление опции option из элемента select.

JS
//Удаление выбранной опции option элемента select
$("#tema :selected").remove();

//Удаление первой опции option элемента select
$("#tema :first").remove();

//Удаление последний option элемента select
$("#tema :last").remove();

//Удаление option у которого value='html' из списка элемента select
$("#tema option[value='html']").remove();
$("#tema [value='html']").remove(); // сокращенно

//Удаление всех option элемента select
$("#tema").empty();

Перебрать и вывести все option из списка select в блок с id="result":

JS
var result = "";
$('#tema option').each(function(){
  result = result + this.text + "<br/>";
});
$('div#result').html(result);

 Выбрать option из списка select

В коде ниже показано как выбрать последний, второй option в списке select, и как выбрать option в select по находящимуся в нём тексте (варианты с учётом регистра и нет).

JS
//Выбрать последний option в списке select
$("#tema :last").attr("selected", "selected");

//Выбрать второй option в списке select
$("#town :nth-child(2)").attr("selected", "selected");

//Выбрать опцию содержащую текст 'PHP'

//Первый вариант
$("#tema :contains('PHP')").attr("selected", "selected");               
 
// Второй вариант
$("#tema").find("option:contains('PHP')").attr("selected", "selected");
 
// Третий вариант (не зависит от регистра)
var opt = $('#tema option');
opt.each(function(indx, element){
  if ( $(this).text().toLowerCase() == 'PHP'.toLowerCase() ) {$(this).attr("selected", "selected");}
});

Выбрать option из списка select по значению value

JS
$("#tema option[value='CSS']").attr("selected", "selected");

Добавление опций option в список select

JS
//Добавить элемент в начало списка <select>:
$("#tema").prepend( $('<option value="mysql">MySql</option>') );

//Добавить элемент в конец списка <select>:
$("#tema").append( $('<option value="mysql">MySql</option>'));
 
//Добавить новый элемент после третьего:
$("#tema option:nth-child(3)").after( $('<option value="mysql">MySql</option>') );

Добавление нескольких  опций option в список select из массива

JS
var newOptions = {
"Ryaza": "Рязань",
"Samara": "Самара"
};
 
$.each(newOptions, function(key, value) {
  $('#town').append($("", {
    value: key,
    text: value
  }));
});

Узнать количиство option в список select

JS
$("select[id=town] option").size();

Проверка - выбран ли option в список select

JS
if ( $("#town").val() ) {
   //Ваш код
   }

Отмена выбора всех option в список select

JS
$('#town option:selected').each(function(){
  this.selected=false;
});

 

Дата публикации: 

ТОП 10 случайных публикаций



Сайт разработан студией © WEB-VidST   


Яндекс.Метрика