如何使用JavaScript将EJS变量转换为选择选项值?

问题描述 投票:0回答:1

我正在尝试从JavaScript到EJS变量中获取选择选项值onchange,以便在EJS for Loop中使用它。

    <!--EJS Code>
    <div class="form-row">
                                        <div class="form-group col-md-3">
                                          <!-- <label for="inputState">Count of Tablets</label> -->
    <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>
        <option value="3">03</option>
        <option value="4">04</option>
        <option value="5">05</option>
        <option value="6">06</option>
        <option value="7">07</option>
        <option value="8">08</option>
        <option value="9">09</option>
        <option value="10">10</option>
    </select>
    </div>
    </div>

    <script>
        function getDeviceCount(sel) {
            var countNo = sel.value;
            console.log("No of Device:" + sel.value);

        }
    </script>

    <% for(int i=0; i< count ; i++){ %>
        //SomeCode
        <%}%>

错误:在编译ejs时,C:\ Users \ Ravish \ Desktop \ LicenseApp \ IrysLicenseGen \ views \ addNew.ejs中出现意外标识符。如果上述错误没有帮助,则您可以尝试使用EJS-Lint:https://github.com/RyanZim/EJS-Lint如果要创建异步函数,请传递async:true作为选项。

javascript ejs
1个回答
0
投票

请注意,<% %>中的所有代码都是在服务器端由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>

如果这不是错误,请提供更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.