Установка выбранного атрибута на списке выборки с помощью jQuery

Другая возможность состоит в том, чтобы использовать динамический массив вместо TStringList. Так как массивы являются считаемой ссылкой, Вы никогда не должны будете волноваться об освобождении ее.

54
задан informatik01 8 August 2018 в 03:53
поделиться

5 ответов

Если вы не возражаете, немного измените свой HTML, включив атрибут value параметров , вы можете значительно сократить код, необходимый для этого: с

<option>B</option>

до

<option value="B">B</option>

Это будет полезно, когда вы захотите сделать что-то вроде:

<option value="IL">Illinois</option>

При этом следующий jQuery внесет изменения:

$("select option[value='B']").attr("selected","selected");

Если вы решите , а не , чтобы включить использование атрибута value , вам необходимо будет просмотреть каждый параметр и вручную проверить его значение:

$("select option").each(function(){
  if ($(this).text() == "B")
    $(this).attr("selected","selected");
});
124
ответ дан 7 November 2019 в 07:43
поделиться

Я бы перебрал варианты, сравнивая текст на то, что я хочу, чтобы его выбрали, а затем установите выбранный атрибут для этого параметра. Как только вы найдете правильный, завершите итерацию (если у вас нет множественного выбора).

 $('#dropdown').find('option').each( function() {
      var $this = $(this);
      if ($this.text() == 'B') {
         $this.attr('selected','selected');
         return false;
      }
 });
3
ответ дан 7 November 2019 в 07:43
поделиться

Вы можете использовать чистый DOM. См. http://www.w3schools.com/htmldom/prop_select_selectedindex.asp

document.getElementById('dropdown').selectedIndex = 1;

, но jQuery может помочь:

$('#dropdown').selectedIndex = 1;
1
ответ дан 7 November 2019 в 07:43
поделиться

Что-нибудь вроде ...

$('select option:nth(1)').attr("selected","selected"); 
0
ответ дан 7 November 2019 в 07:43
поделиться

Код:

var select = function(dropdown, selectedValue) {
    var options = $(dropdown).find("option");
    var matches = $.grep(options,
        function(n) { return $(n).text() == selectedValue; });
    $(matches).attr("selected", "selected");
};

Пример:

select("#dropdown", "B");
1
ответ дан 7 November 2019 в 07:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: