2012-12-05 50 views
0

如何從我的數據庫中使用jQuery AJAX獲取id的值。jQUery PHP將值傳遞給ajax我只需要id來編輯文件

我創建了一個CRUD,我需要編輯和刪除每個尊敬的編號的用戶 創建新用戶正在工作,因爲我不需要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); 
     } 
    }) 
}); 

阿賈克斯/ company.php

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

是我的AJAX錯了嗎?

爲什麼它在jQuery無法傳遞每個ID的值。

+0

可能是你應該指定使用var id = $('input [name = id]').val()時的上下文。碼。此外,class .span9的元素在哪裏? – MatRt

回答

1

您的字段對所有行都有相同的名稱,所以當您通過$('input [name = id]').val()查詢它時,它總是返回第一個值。

如果你不想改變fieds獨特名字的名字,你應該訪問他們:

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(); 
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(); 
相關問題