Имейте в виду, что весь код в <% %>
интерпретируется EJS на стороне сервера. Результат (html + css + js) этой обработки отправляется клиенту. На стороне клиента вы можете получить выбранную опцию и выполнить Ajax-вызов.
Сначала на стороне сервера:
<select id="noOfDevice" class="form-control" name="noOfDevice" onchange="getDeviceCount(this)">
<option selected>Select</option>
<option value="1">01</option>
<option value="2">02</option>
</select>
<script>
function getDeviceCount(sel) {
var countNo = sel.value;
// TODO Send countNo to somewhere
}
</script>
// use var or let. int is not valid
<% for(var i = 0; i < count; i++){ %>
<span>Hello <%= i %></span>
<% } %>
Предположим, переменная count
установлена на вашем контроллере и имеетзначение 3.
Результат отправлен клиенту:
<select id="noOfDevice" class="form-control" name="noOfDevice" onchange="getDeviceCount(this)">
<option selected>Select</option>
<option value="1">01</option>
<option value="2">02</option>
</select>
<script>
function getDeviceCount(sel) {
var countNo = sel.value;
// TODO Send countNo to somewhere
}
</script>
<span>Hello 0</span>
<span>Hello 1</span>
<span>Hello 2</span>
Если это не ошибка, предоставьте более подробную информацию.