如何从JavaScript中选择HTML中获取正确的选定值?

时间:2015-10-10 12:55:00

标签: javascript php jquery html mysql

我从mysql查询中获取用户。我将这些用户显示在表格中,并将HTML添加到php文件中,以便所有用户更改值:

 ...
 do {
    echo "<td > <a>".$row["username"]."</a> </td> \n";  
    echo "<td > <a>".$row["name"]."</a> </td> \n";
    echo "<td > <select id='sel'> <option value='admin'>Admin</option> <option value='user'>User</option> </select> </td> \n";   
 } while ($row = mysql_fetch_array($result)); 
        echo "</tbody></table> \n";
 ... 

如何选择该选项?

我正在尝试在javascript中获取此功能,但始终获得相同的第一个值,选择了独立值。

function myFunction() {
   var e = document.getElementById("sel");
   var strUser = e.options[e.selectedIndex].value;
}

谢谢!

3 个答案:

答案 0 :(得分:0)

使用jquery .change函数。

小提琴: - https://jsfiddle.net/a2abaL44/1/

<script type="text/javascript">
$("#sel").change(function(){
    var selectVal = $(this).val();
})
</script>

https://api.jquery.com/change/

答案 1 :(得分:0)

因为您的循环将被执行多次(对于数据库中的每个用户一次),您将拥有许多具有相同ID的select * from ( select *, (3959 * acos( cos( radians(53.49) ) * cos( radians( places.lat ) ) * cos( radians( places.lng ) - radians(-2.38) ) + sin( radians(53.49) ) * sin( radians( places.lat ) ) ) ) AS distance from ( select * from places where places.lat between 53.475527714192 and 53.504472285808 and places.lng between -2.4043246788967 and -2.3556753211033 ) as places where places.deleted_at is null ) sub where distance <= $1 order by distance asc 个元素。您不能为许多不同的元素提供相同的ID,这就是为什么您的JavaScript只返回第一个<select>的值。

如果您告诉我您需要选择的值,我可以进一步更新答案。

答案 2 :(得分:0)

您的代码没问题,请将您的选择更改为XMMatrix worldMatrix = XMMatrixTranslation(x, y, z + (i * 8)); m_pTextureShader->Render(m_pDirect3D->GetDeviceContext(), elem->GetIndexCount(), worldMatrix, viewMatrix, projectionMatrix, elem->GetTexture());

<select id="sel" onchange="myFunction();">