【发布时间】:2014-01-06 02:57:21
【问题描述】:
我正在使用 phpClass 生成一个表单:
<`div id='admin_users' class=''><h1>Felhasználók</h1>
<table id='admin_user'><thead><tr><th>user_name</th><th>user_email</th><th>reg_time</th><th>activate time</th><th>admin</th></tr></thead>
<tr>
<form>
<td>123123</td>
<td>n**********ng@gmail.com</td>
<td>2014-01-01 23:13:58</td>
<td>2014-01-02 23:14:02</td>
<td><input type='checkbox' checked='checked' id='admin' class='admin' name='admin' value='47' /></td><input type='hidden' id='user_id' name='user_id' value='47' />
</form>
</tr>
<tr>
<form>
<td>Gabesz80</td>
<td>n***********ng@gmail.com</td>
<td>2013-12-30 12:46:26</td>
<td>2013-12-30 17:40:03</td>
<td><input type='checkbox' checked='checked' id='admin' class='admin' name='admin' value='48' />
</td><input type='hidden' id='user_id' name='user_id' value='48' />
</form>
</tr>
</table>
</div>`
echo "<tr><form>";
echo "<td>".$q->user_name."</td>";
echo "<td>".$q->user_email."</td>";
echo "<td>".$q->reg_time."</td>";
echo "<td>".$q->activate_time."</td>";
if($q->admin==1){
echo "<td><input type='checkbox' checked='checked' id='admin' class='admin'
name='admin' /></td>";
}
else {
echo "<td><input type='checkbox' id='admin' class='admin' name='admin' /></td>";
}
echo "<input type='hidden' id='user_id' name='user_id' value='".$q->user_id."' />";
echo "</form></tr>";
Jquery:
$(':checkbox').click(function( event ) {
$.ajax({
type: "POST",
url: "admin_process.php",
data: { admin : $(this).val(),
user_id : $('#user_id').val() }
}).done(function( msg ){
alert("Az adatok: " + msg);
});
还有 PHP:
<?php
if(isset($_POST)){
echo $_POST['user_id'] ;
echo $_POST['admin'] ;
}
?>
我尝试选择 next()、find()、$('#user_id') 但我无法将我单击的行的 user_id 发送到 PHP。它总是让我返回第一行的 id。 我有一个用户列表、用户名、电子邮件、管理员(复选框)。 当后端用户点击复选框时,AJAX 应该发送一个帖子,将数据库管理单元格从 1 更新为 0。 在我的示例中,有两个用户。当我通过点击发送数据时,它总是发送第一行的数据。
【问题讨论】:
-
你说它总是发送第一个用户的ID。但在您的示例中,我只看到一个用户。页面上是否有多个表单,而您只向我们展示了一个?
-
form>
123123 nemeth.gabor.ng@gmail.com 2014-01-01 23:13:58 2014-01-02 23:14:02
标签: javascript php jquery ajax checkbox