@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

ラジオボタンのイベントリスナーを設定する方法

html - How to use on addEventListener on radio button in Plain Javascript? - Stack Overflow

なるほど、同じラジオボタンのname属性は同じなので、name属性でまとめて取れます。 次のような感じです。

for (const elem of document.querySelectorAll('[name="contract_duration"]')) {
  elem.addEventListener("change", () => console.log('hey'))
}

ラジオボタンが動的に増減するときは、フォームにイベントリスナーを設定して、バブリングしてきたイベントのターゲットをみて判別すると良いと思います。。

form.addEventListener("change", ({target}) => {
  if(target.name === 'contract_duration') {
    console.log('hey')
  }
})