JavaScriptを使ってプログラム的にセレクトボックス要素の値を設定する方法を教えてください。

次のようなHTMLの <select> 要素があります。

<select id="leaveCode" name="leaveCode">
  <option value="10">Annual Leave</option>
  <option value="11">Medical Leave</option>
  <option value="14">Long Service</option>
  <option value="17">Leave Without Pay</option>
</select>

leaveCode`の数値をパラメータとしたJavaScriptの関数を使って、リストの中から適切な選択肢を選択するにはどうすればよいでしょうか。

ソリューション

この機能を使うことができます。

``js selectElement('leaveCode', '11')

function selectElement(id, valueToSelect) {. let element = document.getElementById(id); element.value = valueToSelect; }

解説 (11)

質問の答えになっていませんが、iは選択したい項目のインデックスで、インデックスで選択することもできます。

var formObj = document.getElementById('myForm');
formObj.leaveCode[i].selected = true;

また、ループを使って、表示値で選択する項目をループさせることもできます。

for (var i = 0, len < formObj.leaveCode.length; i < len; i++) 
    if (formObj.leaveCode[i].value == 'xxx') formObj.leaveCode[i].selected = true;
解説 (1)

残念ながら今はテストできませんが、以前は、各オプションタグにIDを与えて、次のようにしていたと思います。

document.getElementById("optionID").select();

それでもダメな場合は、これで解決に近づけるかもしれません :P

解説 (1)