简体   繁体   English

如何使用 javascript 到 EJS 变量获取 select 选项值?

[英]How to get select option value using javascript to EJS variable?

I'm Trying to get select option value onchange from JavaScript to EJS variable for using it in EJS for Loop.我正在尝试将 select 选项值从onchange更改为 EJS 变量,以便在 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
        <%}%>

Error: Unexpected identifier in C:\Users\Ravish\Desktop\LicenseApp\IrysLicenseGen\views\addNew.ejs while compiling ejs If the above error is not helpful, you may want to try EJS-Lint: https://github.com/RyanZim/EJS-Lint Or, if you meant to create an async function, pass async: true as an option. Error: Unexpected identifier in C:\Users\Ravish\Desktop\LicenseApp\IrysLicenseGen\views\addNew.ejs while compile ejs 如果上述错误没有帮助,您可能想尝试 EJS-Lint: Z5E056C500A1C4B6A7110B50D807BADEcom。 /RyanZim/EJS-Lint或者,如果您打算创建异步 function,请传递 async: true 作为选项。

Keep in mind that all code within <% %> are interpreted by EJS on server-side.请记住, <% %>中的所有代码都由服务器端的 EJS 解释。 The result (html + css + js) of this processing is sent to the client.这个处理的结果(html + css + js)发送给客户端。 On the client side you can get selected option and do some Ajax call.在客户端,您可以获得选定的选项并进行一些 Ajax 调用。

First, on the server side:首先,在服务器端:

<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>
<% } %>

Suppose variable count has been set on your controller and has the value 3.假设变量count已在 controller 上设置并且值为 3。

Result sent to client:发送给客户端的结果:

<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>

If this is not the error, please provide more details.如果这不是错误,请提供更多详细信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM