Подтвердить что ты не робот

$ ( "# select option: second" ). val() jquery - сохранить второе значение опции select box

Я могу сохранить первое и последнее значение поля выбора

$("#selbox").val($("#sel_selbox option:last").val());

$("#selbox").val($("#selbox option:last").val());

Как я могу сохранить второе значение?

$("#selbox").val($("#selbox option:second").val());

Это дает ошибку. Есть ли возможность сохранить выбор, указав индекс?

4b9b3361

Ответ 1

Да, вам нужен специальный селектор jQuery eq().

    $("#selbox").val($("#selbox option:eq(1)").val());

Ответ 2

Этот способ выбора :eq(), как уже было предложено.

Однако это не лучший метод. Поскольку eq является нестандартным, специфичным для jQuery расширением, весь запрос должен обрабатываться механизмом селектора jQuery. Ни один из вариантов не зависит от возможностей выбора браузера. Это означает, что выбор будет намного медленнее.

Если вы сделаете простой выбор, а затем обрезаете его с помощью методов jQuery, вы получите гораздо лучшую производительность, потому что функция выбора собственного браузера (называемая querySelectorAll) будет обрабатывать все, что она может, что обеспечит большую скорость подталкивание.

$('#selbox option').eq(1).val();
$('#selbox option').last().val();
$('#selbox option').first().val();     // same as .eq(0).val();

См:

Ответ 3

Другой способ записи.

$("#selbox").val($("#selbox option").eq(1).val());

Ответ 4

или вот так:

$('#selbox').find('option').eq(1).val();

Ответ 5

Мне нужно было скрыть все, кроме первых двух параметров, и использовать это.

$("#DDLId").find('option:not(:first)').not(":first").map(function ()
{
    return $(this).parent('span').length == 0 ? this : null;
}).wrap('<span>').hide();

NB это использует трюк "скрыть с пролетом", а не просто с помощью hide(), поскольку IE не будет скрывать параметры напрямую.

используйте .unwrap().show(), чтобы просмотреть скрытые параметры.