Получить параметры динамического выбора

0

Я хотел получить следующий динамический код:

var items = $("#scenario_select option");

Выше должно быть (с dropDownObj= $("#scenario_select");

function someFunction(dropDownObj){
    var items = $(dropDownObj + " option");
    var items = $("#" + dropDownObj + " option");
}

Это не работает. Я не нашел никакой помощи по этому поводу (только без тега options)

Любая помощь приветствуется.

Теги:

2 ответа

6
Лучший ответ

Попробуй это:

function someFunction(dropDownObj){
    var items = $('#' + dropDownObj.prop('id') + " option");
}

Но я полагаю, что более "правильный" способ сделать это - использовать find, как это было предложено в @Exception, или использовать:

function someFunction(dropDownObj){
    var items = $("option", dropDownObj);
}

Что в основном делает то же, что и.find(). См. Этот вопрос SO для сравнения между ними (tl; dr: они в значительной степени эквивалентны).

Чтобы найти количество элементов (как вы отметили в комментариях), вы также можете использовать:

function someFunction(dropDownObj){
    var items = $("option", dropDownObj).length;
}

Это немного короче решения, которое вы разместили в комментариях.

Следует также отметить, что поскольку

dropDownObj= $("#scenario_select");

Это уже объект jQuery, и вам не нужно его обертывать с помощью $. Имея это в виду, вы решаете:

var items = dropDownObj.children('option').length;
  • 0
    Почему отрицательный голос?
  • 0
    Почему вы хотите проверить prop вместо использования find ?
Показать ещё 5 комментариев
3

Это должно сработать.

 var dropDownObj = $('#yourDropDownID');
 dropDownObj.find('option')
  • 0
    это тоже работает, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню