我正在創建一個頁面,允許用戶將玩家分配到職位。我有一系列玩家的名字,以及任何玩家都可以玩的一系列陣地。每個玩家可以在4個季度中的任何一個位置玩任何位置。但是,在同一季度,兩名球員無法發揮相同的位置。
我的問題是,我無法弄清楚如何從選擇選項中刪除一個位置,一旦它被分配給該季度的另一個玩家(並且如果已經選擇然後取消選擇,則將位置添加回列表)。使用JavaScript填充選項的選項以及刪除它們
這是我創建一個表的Javascript。每一行都有一個玩家的名字和4個季度每一個的選擇選項。
//Creates an array of players
var aRoster = ["Phil", "Erik", "Dave", "Jimbo", "Billy Ray", "Sean", "Joe", "PP", "Shelly", "Mathew", "Scott", "Jarvis", "Hazard", "Ibra"];
//Creates an array of positions players can play
var aPositions = ["--", "LF", "RF", "LM", "LCM", "RCM", "RM", "CB", "LB", "SW", "RB", "K"];
var htmlStr = "<table class='table-bordered'><thread><tr><th class='col-xs-4'>Name</th><th class='col-xs-2'>Q1</th><th class='col-xs-2'>Q2</th><th class='col-xs-2'>Q3</th><th class='col-xs-2'>Q4</th></tr></thread><tbody>";
//Goes through a loop that puts each player in the table. Gives them an unique selector for each of the 4 quarters
for(var i=0; i < aRoster.length; ++i)
{
htmlStr += "<tr>";
htmlStr += "<td>" + aRoster[i] + "</td>";
htmlStr += "<td>" + "<select id=" + "'" + i +"positionQ1' class='form-control'></select>" + "</td>";
htmlStr += "<td>" + "<select id=" + "'" + i +"positionQ2' class='form-control'></select>" + "</td>";
htmlStr += "<td>" + "<select id=" + "'" + i +"positionQ3' class='form-control'></select>" + "</td>";
htmlStr += "<td>" + "<select id=" + "'" + i +"positionQ4' class='form-control'></select>" + "</td>";
htmlStr += "</tr>";
}
htmlStr += "</tbody></table>";
$('#roster-table').html(htmlStr);
//For each of the player's selectors, populate it with each positon
for (var i = 0; i < aRoster.length; i++)
{
var selectQ1 = document.getElementById(i+'positionQ1');
var selectQ2 = document.getElementById(i+'positionQ2');
var selectQ3 = document.getElementById(i+'positionQ3');
var selectQ4 = document.getElementById(i+'positionQ4');
for (var j = 0; j < aPositions.length; j++)
{
selectQ1.options.add(new Option(aPositions[j], aPositions[j]));
selectQ2.options.add(new Option(aPositions[j], aPositions[j]));
selectQ3.options.add(new Option(aPositions[j], aPositions[j]));
selectQ4.options.add(new Option(aPositions[j], aPositions[j]));
}
}
非常感謝!
讓我們在季說1,菲爾被分配了位置「LF」。您是否期望第1季度的所有其他選擇控件都應該刪除「LF」? –
正確。如果Phil是Q1的LF,那麼LF應該從Q1的其餘玩家選擇選項中消除。但是在第二季度,任何人都可以打LF,直到第二季度選中LF。 – RYDiiN