Preview:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Player Assignment</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
            display: flex;
            justify-content: space-between;
            background-image: url('');
            background-size: cover;
            background-repeat: no-repeat;
        }
        .player-card,
        .team-names {
            border: 1px solid #ccc;
            padding: 10px;
            width: 45%;
            background-color: rgba(255, 255, 255, 0.2); /* Use rgba for a semi-transparent background */
        }
        img {
            max-width: 100%;
            height: auto;
        }
        table {
            margin-top: 10px;
            width: 100%;
            border-collapse: collapse;
        }
        th, td {
            border: 1px solid #ccc;
            padding: 8px;
            text-align: left;
        }
        select {
            margin-top: 10px;
        }
        .budget {
            text-align: left;
            font-weight: bold;
            margin-top: 10px;
        }
    </style>
</head>
<body>
 
<div class="player-card">
    <img id="playerImage" src="https://static.cricbuzz.com/a/img/v1/152x152/i1/c254899/smriti-mandhana.jpg" alt="Player Photo" width="200">
    <h2 id="playerName">Player Name</h2>
    
    <table id="playerStatsTable">
        <tr>
            <th>Stat</th>
            <th>Value</th>
        </tr>
    </table>
    
    <p id="basePrice">Base Price: $100</p> <!-- Display the base price for the player -->
 
    <label for="teamSelect">Assign to Team:</label>
    <select id="teamSelect" onchange="assignTeam()">
        <option value="">Select Team</option>
        <option value="team1">Team 1</option>
        <option value="team2">Team 2</option>
        <option value="team3">Team 3</option>
        <option value="team4">Team 4</option>
        <option value="team5">Team 5</option>
        <option value="team6">Team 6</option>
        <option value="team7">Team 7</option>
        <option value="team8">Team 8</option>
    </select>
    
    <p id="assignmentStatus">Player not assigned to any team.</p>
</div>
 
<div class="team-names">
    <h2>Team Names</h2>
    <p id="team1Name"><span class="budget"></span></p>
    <p id="team2Name"><span class="budget"></span></p>
    <p id="team3Name"><span class="budget"></span></p>
    <p id="team4Name"><span class="budget"></span></p>
    <p id="team5Name"><span class="budget"></span></p>
    <p id="team6Name"><span class="budget"></span></p>
    <p id="team7Name"><span class="budget"></span></p>
    <p id="team8Name"><span class="budget"></span></p>
</div>
 
<script>
    var playerIndex = 0;
    var players = [
        { name: "Smriti Mandhana", image: "https://static.cricbuzz.com/a/img/v1/152x152/i1/c254899/smriti-mandhana.jpg", stats: { Match: 82, Innings: 82, Runs: 3242, High_Score: 135, Average: 42.65, SR: 83.47, '100s': 5, '50s': 26, '4s': 387, '6s': 36, Catches: 26, Stumps: 0 }, team: "", basePrice: 100,lastTradedPrice:0 },
        { name: "Shafali Verma", image: "https://static.cricbuzz.com/a/img/v1/152x152/i1/c254978/shafali-verma.jpg", stats: { Match: 2, Innings: 2, Runs: 42, High_Score: 35, Average: 4.65, SR: 83.47, '100s': 5, '50s': 26, '4s': 387, '6s': 36, Catches: 26, Stumps: 0 }, team: "", basePrice: 200,lastTradedPrice:0 },
        { name: "Jemimah Rodrigues", image: "https://static.cricbuzz.com/a/img/v1/152x152/i1/c254964/jemimah-rodrigues.jpg", stats: { Match: 82, Innings: 82, Runs: 3242, High_Score: 135, Average: 42.65, SR: 83.47, '100s': 5, '50s': 26, '4s': 387, '6s': 36, Catches: 26, Stumps: 0 }, team: "", basePrice: 50,lastTradedPrice:0 }
    ];
    var teamBudget = [1000,2000,3000,1000,2000,3000,1000,2000];	
    populateBudgetSection();		
    document.addEventListener("keydown", function(event) {
        if (event.key === "ArrowRight") {
            changePlayer(1);
        } else if (event.key === "ArrowLeft") {
            changePlayer(-1);
        }
    });
 
    function changePlayer(direction) {
        playerIndex = Math.min(Math.max(playerIndex + direction, 0), players.length - 1);
        updatePlayerInfo();
    }
 
    function updatePlayerInfo() {
        var playerImage = document.getElementById("playerImage");
        var playerName = document.getElementById("playerName");
        var playerStatsTable = document.getElementById("playerStatsTable");
        var basePriceElement = document.getElementById("basePrice"); // Added base price element
        var teamSelect = document.getElementById("teamSelect");
 
        playerImage.src = players[playerIndex].image;
        playerName.textContent = players[playerIndex].name;
 
        // Clear existing rows in the table
        playerStatsTable.innerHTML = "<tr><th>Stat</th><th>Value</th></tr>";
 
        // Populate the table with player stats
        for (var stat in players[playerIndex].stats) {
            if (stat === '4s' || stat === '6s') {
                var row = playerStatsTable.insertRow();
                var cell1 = row.insertCell(0);
                var cell2 = row.insertCell(1);
 
                cell1.textContent = '4s/6s'; // Display "4s/6s" for the combined row
                cell2.textContent = players[playerIndex].stats['4s'] + '/' + players[playerIndex].stats['6s'];
                break; // Skip the next row
            } else {
                var row = playerStatsTable.insertRow();
                var cell1 = row.insertCell(0);
                var cell2 = row.insertCell(1);
 
                cell1.textContent = stat.replace('_', ' ');
                cell2.textContent = players[playerIndex].stats[stat];
            }
        }
 
 
        // Display the base price for the player
        basePriceElement.innerHTML = "<strong>Base Price:</strong> $" + players[playerIndex].basePrice;
 
        if (players[playerIndex].team !== "") {
            teamSelect.value = players[playerIndex].team;
            assignmentStatus.textContent = players[playerIndex].name + " assigned to " + teamSelect.value + " team.";
        } else {
            teamSelect.value = "";
            assignmentStatus.textContent = "Player not assigned to any team.";
        }
    }
 
    function assignTeam() {
        var teamSelect = document.getElementById("teamSelect");
        var assignmentStatus = document.getElementById("assignmentStatus");
        var previousTeam = players[playerIndex].team;
        var selectedTeam = teamSelect.value;
        updatePlayerStatus(selectedTeam);
        updateTeamName(previousTeam,selectedTeam,teamIndex[previousTeam]!= undefined? teamIndex[previousTeam]:null,teamIndex[teamSelect.value]);
        populateBudgetSection();
        teamSelect.blur();
    }

    const teamIndex = Object.freeze({ 
        "team1": 0, 
        "team2": 1, 
        "team3": 2,
        "team4": 3,
        "team5": 4,
        "team6": 5,
        "team7": 6,
        "team8": 7,
    }); 
    
    function populateBudgetSection() {
    for (var i = 0; i < teamBudget.length; i++) {
        var assignedPlayers = players.filter(player => player.team === "team".concat(i + 1));
        var playerNames = assignedPlayers.map(player => player.name);
        document.getElementById("team".concat(i + 1, "Name")).textContent = "Budget: $" + teamBudget[i] + " Team " + (i + 1) + ": -" + playerNames.join(",");
    }
}

    function updatePlayerStatus(selectedTeam){
        players[playerIndex].team = selectedTeam;
        if (selectedTeam !== "") {
            assignmentStatus.textContent = players[playerIndex].name + " assigned to " + selectedTeam + " team.";
        } else {
            resetAssignment();
        }
    }
    
    function updateTeamName(previousTeam,selectedTeam, previousTeamIndex, currentTeamIndex) {
    var assignedPlayers = players.filter(player => player.team === selectedTeam);
    var playerNames = assignedPlayers.map(player => player.name);

   
    if(selectedTeam!="")
    {
        var subtractValue = parseFloat(prompt("Enter the value to subtract from the team budget for " + players[playerIndex].name, players[playerIndex].basePrice));
    if (!isNaN(subtractValue) && subtractValue >= 0) {
        if(teamBudget[currentTeamIndex] - subtractValue<0)
        {
            var oldTeam = Object.keys(teamIndex)[previousTeamIndex];
            teamSelect.value = oldTeam;
            updatePlayerStatus(oldTeam)
            alert("Team out of budget");
        }
        else{
            if (previousTeamIndex != null) teamBudget[previousTeamIndex] += players[playerIndex].lastTradedPrice;
            teamBudget[currentTeamIndex] -= subtractValue;
            players[playerIndex].lastTradedPrice = subtractValue;
            populateBudgetSection();
        }
    } else {
        // Handle invalid input or cancel
       alert("Invalid input. Please enter a valid number.");
        // You may want to handle this differently based on your use case
    }  
    } else
    {
        teamBudget[previousTeamIndex] += players[playerIndex].lastTradedPrice
        players[playerIndex].lastTradedPrice = 0;
    }
        
}
 
    function resetAssignment() {
        var assignmentStatus = document.getElementById("assignmentStatus");
        assignmentStatus.textContent = "Player not assigned to any team.";
    }
 
    updatePlayerInfo();
</script>
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter