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

时间:2016-12-15 02:36:01

标签: javascript jquery html jsp jstl

所以我所拥有的是jsp文件(或html)中每个循环的a,它遍历一组数据,这是一个数组,在该循环中我有一个select标签,用于选择一个选项。这是假设显示一行,每行都有一个选择选项。我想要做的是获取select标签值的每个实例。我尝试使用JQuery和许多不同类型的标识符进行此操作,但无论我如何尝试实验它都不返回任何内容,未定义或选择标记的第一个实例但不是以下内容。任何人都可以帮助我吗?

<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内容之后的输入标记

1 个答案:

答案 0 :(得分:2)

$("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