我正在为文本框和下拉框创建循环...
foreach ($users as $user)
{
echo '<div class="row">';
echo '<input type="hidden" value="'.$user['uid'].'" id="userid"/>';
echo '<input type="text" value="'.$user['username'].'" disabled id="username"/>';
echo '<select name="site" id="site"> <option>Site A</option><option>Site B</option></select>';
echo '<select name="role" id="role">';
foreach ($roles as $role)
echo '<option>'.$role.'</option>';
echo '</select>';
echo '<input type="button" name="Change" id="Change" value="Change" onclick="getClick()">';
}
我的jQuery是
function getClick()
{
var a=$("#username").val();
alert(a);
}
现在的问题是,当我单击任何更改按钮时,我仅获得第一行的用户名...我如何获取每一行的用户名...
最佳答案
您应该使用类值而不是id
,因为元素是在循环内创建的-元素的ID在文档中必须唯一。
因此将所有id
更改为class
'<input type="hidden" value="'.$user['uid'].'" class="userid"/>'
还使用jQuery事件处理程序,而不是内联的事件处理程序
'<input type="button" name="Change" value="Change" class="change">'
jQuery(function(){
$('.change').click(function(){
var $this = $(this), $row = $this.closest('.row');
var a=$row.find(".username").val();
alert(a);
})
})
关于php - 如何获得点击信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20119656/