0

如何使用 jQuery AJAX 从我的数据库中获取 id 的值。

我创建了一个 CRUD,我需要为 Create New 用户正在工作的每个受尊重的 id 编辑和删除用户,因为我不需要传递 id。但是当我更新用户时,ID 的值不适用于每个用户。

它只读取第一个 ID,但无法再读取其余用户。我有这个代码

<form method="get">
<table class="table table-bordered">
<?php 
$sqlView = mysql_query("SELECT * FROM user ORDER BY id DESC") or die (mysql_error());
while($rowView = mysql_fetch_array($sqlView)){
$id = $rowView['id'];
echo '
<tr>
    <td>
        <input type="hidden" name="id" value="'.$id.'" />
        <input type="hidden" name="name" value="'.$rowView['name'].'" />
        <input type="hidden" name="up" value="edit" />
        '.$rowView['name'].'
    </td>
    <td>'.$rowView['phone'].'</td>
    <td>'.$rowView['address'].'</td>
    <td>'.$rowView['email'].'</td>
    <td>'.$rowView['status'].'</td>
    <td><a href="#" class="update" id="'.$id.'">Update</a> Delete </td>
</tr>
';
}

?>
</table>
</form>

$('a.update').click(function(e) {
    $('<img src="images/loading.gif" id="loading" style="width:auto;" />').appendTo(".span9");
    //Cancel the link behavior
    e.preventDefault();
    //Get the A tag
    var id = $( 'input[name=id]' ).val();
    var edit = $( 'input[name=up]' ).val();
    var name = $( 'a#id' ).val();
    alert( name );
    $.ajax({
        type:"GET",
        url:"ajax/company.php",
        data: {id: id, up: edit, aid: name},
        dataType: 'html',
        target: '.span9',
        success: function(data){
            $(".span9").find('img#loading').remove();
            $(".span9").html(data);
        }
    })
}); 

ajax/company.php

<?
echo $_GET['id'];
?>

我的ajax错了吗?

为什么它在 jQuery 无法传递每个 id 的值时打开。

4

2 回答 2

1

您的字段对于所有行都具有相同的名称,因此当您通过 $( 'input[name=id]' ).val() 查询它时,它总是返回第一个值。

如果您不想将字段的名称更改为唯一名称,您应该使用以下方式访问它们:

var row = $(this).parent().parent();
var id = row.find('input[name=id]' ).val();
var edit = row.find('input[name=up]' ).val();
var name = row.find('a#id' ).val();
于 2012-12-05T02:13:21.687 回答
0

您也可以尝试:

  var row = $(this).parents(\"tr:first\")
  or
  var row = $(this).closest('tr');

var id = row.find('input[name=id]' ).val();
var edit = row.find('input[name=up]' ).val();
var name = row.find('a#id' ).val();
于 2014-02-15T09:02:54.853 回答