Javascript 根据属性获取选定选项的值

Javascript 根据属性获取选定选项的值,javascript,jquery,Javascript,Jquery,我正在尝试创建一个管理面板。当管理员更改复选框,然后单击应用按钮时,它应该从与我要更新其信息的用户关联的行中获取所选选项 当选择apply按钮时,我刚才的代码返回undefined。如有任何见解,将不胜感激 html <template name="userTable"> <table class="table"> <thead> <tr>

我正在尝试创建一个管理面板。当管理员更改复选框,然后单击应用按钮时,它应该从与我要更新其信息的用户关联的行中获取所选选项

当选择apply按钮时,我刚才的代码返回undefined。如有任何见解,将不胜感激

html

<template name="userTable">
            <table class="table">
                <thead>
                <tr>
                    <th>
                        ID
                    </th>
                    <th>
                        Username
                    </th>
                    <th>
                        Faction
                    </th>
                    <th>
                        Admin Permissions
                    </th>
                    <th>
                        Max Orders
                    </th>
                </tr>
                </thead>
                <tbody>
                {{#each users}}
                <tr>
                    <td>
                        {{_id}}
                    </td>
                    <td>
                        {{profile.name}}
                    </td>
                    <td>
                        {{profile.faction}}
                    </td>
                    <td>
                        <select id="isAdmin">
                            <option data-id="{{_id}}" value="true" {{isEqual profile.isAdmin true}}>Yes</option>
                            <option data-id="{{_id}}" value="false" {{isEqual profile.isAdmin false}}>No</option>
                        </select>
                    </td>
                    <td>
                        <select id="maxPosts">
                            <option data-id="{{_id}}" value="0" {{isEqual profile.maxPosts 0}}>0</option>
                            <option data-id="{{_id}}" value="10" {{isEqual profile.maxPosts 10}}>10</option>
                            <option data-id="{{_id}}" value="20" {{isEqual profile.maxPosts 20}}>20</option>
                            <option data-id="{{_id}}" value="30" {{isEqual profile.maxPosts 30}}>30</option>
                        </select>
                    </td>
                    <td>
                        <button data-id="{{_id}}" type="button" class="btn btn-primary btn-xs">Apply Changes</button>
                    </td>
                </tr>
                {{/each}}
                </tbody>
            </table>
        </template>

身份证件
用户名
派别
管理权限
最大订单
{{{#每个用户}}
{{{u id}}
{{profile.name}
{{profile.派系}
对
不
0
10
20
30
应用更改
{{/每个}}

难道你不能将每一行的选择/按钮包装成一个表单吗?这能解决这个问题吗?通过这样做,你不必做一些复杂的逻辑来查找每个用户的数据,你只需截取表单提交事件,然后从中轻松获得值。我以前从未使用过Meteor,但当我制作了一个类似的应用程序时,我就是这么做的,而且它更易于管理。没错,我只倾向于在登录和电子邮件表单的上下文中考虑表单,所以我忽略了它在这种上下文中的应用。
<template name="userTable">
            <table class="table">
                <thead>
                <tr>
                    <th>
                        ID
                    </th>
                    <th>
                        Username
                    </th>
                    <th>
                        Faction
                    </th>
                    <th>
                        Admin Permissions
                    </th>
                    <th>
                        Max Orders
                    </th>
                </tr>
                </thead>
                <tbody>
                {{#each users}}
                <tr>
                    <td>
                        {{_id}}
                    </td>
                    <td>
                        {{profile.name}}
                    </td>
                    <td>
                        {{profile.faction}}
                    </td>
                    <td>
                        <select id="isAdmin">
                            <option data-id="{{_id}}" value="true" {{isEqual profile.isAdmin true}}>Yes</option>
                            <option data-id="{{_id}}" value="false" {{isEqual profile.isAdmin false}}>No</option>
                        </select>
                    </td>
                    <td>
                        <select id="maxPosts">
                            <option data-id="{{_id}}" value="0" {{isEqual profile.maxPosts 0}}>0</option>
                            <option data-id="{{_id}}" value="10" {{isEqual profile.maxPosts 10}}>10</option>
                            <option data-id="{{_id}}" value="20" {{isEqual profile.maxPosts 20}}>20</option>
                            <option data-id="{{_id}}" value="30" {{isEqual profile.maxPosts 30}}>30</option>
                        </select>
                    </td>
                    <td>
                        <button data-id="{{_id}}" type="button" class="btn btn-primary btn-xs">Apply Changes</button>
                    </td>
                </tr>
                {{/each}}
                </tbody>
            </table>
        </template>