Ответ 1
Да, вам нужен специальный селектор jQuery eq()
.
$("#selbox").val($("#selbox option:eq(1)").val());
Я могу сохранить первое и последнее значение поля выбора
$("#selbox").val($("#sel_selbox option:last").val());
$("#selbox").val($("#selbox option:last").val());
Как я могу сохранить второе значение?
$("#selbox").val($("#selbox option:second").val());
Это дает ошибку. Есть ли возможность сохранить выбор, указав индекс?
Да, вам нужен специальный селектор jQuery eq()
.
$("#selbox").val($("#selbox option:eq(1)").val());
Этот способ выбора :eq()
, как уже было предложено.
Однако это не лучший метод. Поскольку eq
является нестандартным, специфичным для jQuery расширением, весь запрос должен обрабатываться механизмом селектора jQuery. Ни один из вариантов не зависит от возможностей выбора браузера. Это означает, что выбор будет намного медленнее.
Если вы сделаете простой выбор, а затем обрезаете его с помощью методов jQuery, вы получите гораздо лучшую производительность, потому что функция выбора собственного браузера (называемая querySelectorAll
) будет обрабатывать все, что она может, что обеспечит большую скорость подталкивание.
$('#selbox option').eq(1).val();
$('#selbox option').last().val();
$('#selbox option').first().val(); // same as .eq(0).val();
См:
Другой способ записи.
$("#selbox").val($("#selbox option").eq(1).val());
или вот так:
$('#selbox').find('option').eq(1).val();
Мне нужно было скрыть все, кроме первых двух параметров, и использовать это.
$("#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()
, чтобы просмотреть скрытые параметры.