Изменение раскрывающегося списка с помощью jquery

Я пытаюсь понять, как изменить выбор нескольких полей выбора.

Вот что у меня есть на данный момент:

function selectStrategies() {  
    $('#dataTable tr').each(function() {
        if($(this).find("td").eq(0).html()) { 
            $(this).find("td select").val($('#mainStrategyChoice').val()); 
        }   
    });
}

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

Спасибо.


person Andrey    schedule 07.11.2011    source источник
comment
Хм, кто-то опубликовал ответ и удалил его, я хотел принять этот ответ. Все, что мне нужно было сделать, это $(this).find(td select).eq(0).val($('#mainStrategyChoice').val());   -  person Andrey    schedule 07.11.2011


Ответы (1)


Есть ли что-то конкретное в этих первом и втором полях выбора? Класс, идентификатор или даже имя могут помочь, потому что вы можете ориентироваться на них (или их часть) с помощью селекторов jQuery. Если ничего подобного нет, для удобства вы должны добавить что-то общее к select, на которые вы хотите настроить таргетинг.

Для class="firstSelect":

$(this).find("td select.firstSelect").val($('#mainStrategyChoice').val());

Если name всегда sg, как first-213, first-84 и т. д.:

$(this).find("td select[name^="first-"]").val($('#mainStrategyChoice').val()); 
person kapa    schedule 07.11.2011
comment
Спасибо за ответ. Я попробовал, и он работает так же хорошо, как и предыдущий ответ, который я получил (в моем комментарии). Поскольку тот, кто опубликовал предыдущий ответ, удалил его, думаю, я приму ваш. :) - person Andrey; 07.11.2011