Я пытаюсь разработать функцию футбольной команды, которая будет хранить до 18 игроков (11 стартовых игроков и 7 подписчиков), используя поле выбора для каждого игрока.JavaScript while loop get select option и hide option from other select boxes
Когда игрок выбран из одного окна выбора, он должен быть скрыт во всех остальных блоках выбора, чтобы пользователь не мог снова выбрать того же игрока.
Я написал функцию javascript/jquery, которая делает это, но она ОЧЕНЬ длинная, и я предполагаю, что лучший вариант сделать ее намного более управляемой - это написать цикл while, но я получаю я смутился, пытаясь закодировать его.
текущий код (для исходного XI) можно увидеть на http://jsfiddle.net/aFDjS/
Правильно ли я думать, что то, что мне нужно сделать, это, вероятно, время цикла вложен внутрь другого цикла в то время игнорировать, когда отсчет то же, что и номер игрока такого типа ...
i = 1;
playerNo = 1;
while (i < 19) {
while (playerNo < 19 && i != playerNo) {
playerID = $("#player" + i + "Name option:selected").val();
$("select#player" + playerNo + "Name >option").filter("[class='"+ playerID +"']").hide();
$("select#player" + playerNo + "Name >option").filter("[class!='"+ playerID +"']").show();
playerNo++;
}
i++;
}
Это по правому краю?
Почему бы вам не сохранить t он идентификатор игрока в поле флажка? Легче получить доступ, и вы можете получить все флажки с тем же именем, используя 'document.getElementsByName()'. –