ваш код немного грязный. Попробуйте использовать функции с несколькими строками, они будут более читабельными. Также старайтесь избегать события onclick
внутри HTML, потому что это плохая практика (проверьте онлайн, почему). Наконец, используйте переменные вместо вызова document
каждый раз. Для вашей проблемы я создал это решение:
var games = document.getElementById('games');
var movies = document.getElementById('movies');
var series = document.getElementById('series');
var boxList = document.getElementById('box_list');
games.addEventListener('click', () => addToList('a','b'));
movies.addEventListener('click', () => addToList('c','d'));
series.addEventListener('click', () => addToList('e','f'));
function addToList(...names){
let ul = document.createElement('ul');
for(let name of names){
let li = document.createElement("li");
let content = document.createTextNode(name);
li.appendChild(content);
ul.appendChild(li);
}
boxList.innerHTML = '';
boxList.appendChild(ul);
}
<input type="radio" name="list" id="games" /> Game <br/>
<input type="radio" name="list" id="movies"/> Movies <br/>
<input type="radio" name="list" id="series"/> Series <br/>
<p id="box_list">
</p>
Если вы не знакомы с javascript,
...names
называется оператором распространения, и это полезно, когда вам приходится циклически перемещать список объектов (в данном случае некоторые строки)