Descobri que o método jQuery .val () tem uma desvantagem significativa.
<select id="gate"></select>
$("#gate").val("Gateway 2");
Se esta caixa de seleção (ou qualquer outro objeto de entrada) estiver em um formulário e houver um botão de redefinição usado no formulário, quando o botão de redefinir for clicado, o valor definido será limpo e não redefinido para o valor inicial, como seria de esperar.
Isso parece funcionar melhor para mim.
Para caixas de seleção
<select id="gate"></select>
$("#gate option[value='Gateway 2']").attr("selected", true);
Para entradas de texto
<input type="text" id="gate" />
$("#gate").attr("value", "your desired value")
Para entradas de área de texto
<textarea id="gate"></textarea>
$("#gate").html("your desired value")
Para caixas de seleção
<input type="checkbox" id="gate" />
$("#gate option[value='Gateway 2']").attr("checked", true);
Para botões de opção
<input type="radio" id="gate" value="this"/> or <input type="radio" id="gate" value="that"/>
$("#gate[value='this']").attr("checked", true);