2016-12-15 73 views
0

所以我所拥有的是对jsp文件(或html)中的每个循环的迭代,该循环遍历一组数据,并且在该循环中我有一个select标签,选择一个选项。这是假设显示一行,每行有一个选择选项。我想要做的是获取select标签值的每个实例。我试着用JQuery来做这个,它有很多不同类型的标识符,但不管我怎么试验它,它都不会返回任何内容,未定义或者选择标签的第一个实例,但不包括以下内容。谁能帮我?抓取foreach循环中的选择标记的值

<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的东西

回答

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

+0

我迷惑,到底这是什么回来?我在我的代码中试过了,浏览器控制台告诉我选项(不是选项)是未定义的。 – anonuser1234

+0

我用'$ selected'替换了选项,因为它们在技术上是选择的。 –

+0

另外,选择器'$(“select.statues”)'是错误的。它有一个类'选择',但不是'状态' –