在 foreach 循环中获取 select 标签的值

Grab the values of a select tag inside a foreach loop

所以我在 jsp 文件(或 html)中有一个 for each 循环,它迭代一组数组数据,在那个循环中我有一个 select 标记 select 是一个选项。这假设显示一行并且每一行都有一个 select 选项。我想要做的是获取 select 标签值的每个实例。我尝试使用 JQuery 使用许多不同类型的标识符来执行此操作,但无论我如何尝试对其进行试验,要么 returns 什么都没有,未定义,要么是 select 标签的第一个实例,但不是以下。谁能帮帮我?

<c:forEach var="temp" items="${data}" id="loop">

    <tr><td>
    <div class="dropdown">
        <select class="btn btn-secondary dropdown-toggle select" name="${temp.id}" >
            <option value="1" class="dropdown-item btn btn-secondary dropdown-toggle" > Pending </option>
            <option value="2" class="dropdown-item btn btn-secondary dropdown-toggle" > Approve </option>
            <option value="3" class="dropdown-item btn btn-secondary dropdown-toggle" > Deny </option>
        </select>
     </div>
     </td></tr>
</c:forEach>
/*****************************************************
                 JQuery Code
*****************************************************/
 $("#update").click(function() {
      var index = $("select.statues").val();
      console.log(index);
    /* $.each(index, function(i, item){
        console.log(item);
  });*/
});

更新 ID 是输入标签,位于所有 html 内容之后

$("select.statues").val(); 获取当前选择的选项。

您必须首先获取所有选择并迭代它们以获得相应的值。

您正在寻找

$("#update").click(function() {
   var $selects = $(".select");
   console.log($selects);
   $.each($selects, function(i, item) {
     // selected value
     var $currSelect = $(item)
     console.log($currSelect.val());
     // Selected option text
     console.log($currSelect.find('option:selected').text());
   });
 });

Check Fiddle