首页 > 解决方案 > Javascript - 获取每个 selectpicker 选定值的自定义属性

问题描述

我收到一个对象数组,这些对象是使用var roles = $("#adminUserRoles").find("option:selected");. 我想遍历角色中的每个项目并获得一个自定义属性,data-value但是无论我尝试什么,我似乎都无法将每个项目作为一个对象,我宁愿将它作为一个 html 块。

编辑:我使用迭代集合

roles.each(function(item, index){
                console.log(item.attr('data-value');
                console.log(roles[index].attr('data-value')
            });

并收到Uncaught TypeError: item.attr is not a function

HTML:

<select class="selectpicker" multiple="" data-live-search="true" id="adminUserRoles" name="roles" title="Current Role(s)" data-value="post" tabindex="-98">
   <optgroup label="Group 2">
      <option name="User" value="User" data-value="Group 2">User</option>
   </optgroup>
   <optgroup label="Group 1">
       <option name="User" value="User" data-value="Group 1">User</option>
   </optgroup>
</select>

标签: javascripthtmljquerybootstrap-4

解决方案


你很亲密。

试试下面的,

    var roles = $("#adminUserRoles").find(':selected');

    $.each(roles , function (index, option) {

        var value = $(option).data("value");
    });

推荐阅读