2011-01-27 54 views
0

我檢索從MySQL表中的數據轉換成HTML頁面即價值如何更新和發佈複選框從Ajax調用

$query="select * from student"; 
$result=mysql_query($query)or die(mysql_error()); 
while($rs=mysql_fetch_array($result)) 
{ 
?> 
<tr> 
     <td align="center"><?php echo $rs['st_id']; ?></td> 
<td align="center"><?php echo $rs['name']"; ?></td> 
<td align="center"><input type="checkbox" name="checked[]" <?php if($rs['checked']==1){echo "checked"; } ?> /></td> 
<td align="center"><a href="delete_student.php?id="><img src="images/delete_icon.png" alt="Delete" /></a></td> 
<td align="center"><a href="update_student.php?id="><img src="images/update.png" alt="Update" /></a></td> 

這是給我的輸出 enter image description here

假設ID 1的那個複選框從mysql表中檢查並檢索。
現在我想要做的是,當我檢查兩個複選框到這個表中,並調用一個函數到ajax去php頁面並根據給定的id更新選中字段的值(即2和3 in這個案例)。不刷新整個頁面,也不更新整個記錄只是複選框的值。
我是新來的阿賈克斯 任何幫助將不勝感激。

+0

看看jqgrid,他們可以選擇編輯行http://www.trirand.com/blog/jqgrid/jqgrid.html – 2011-01-27 07:37:17

+0

您的複選框名稱包含無效字符。 – 2011-01-27 07:43:12

回答

1

是的,探索jqGrid並不是浪費時間。但是,因爲您只想更改複選框值更新。這裏是你可以做什麼..

<input type="checkbox" name="check1" /> 

和..

$().ready(function(){ 
    var st_id = <?php echo $rs['st_id']; ?>; 
    //Or you could use a hidden field in the form 

    $(':checkbox').click(function(){ 
    var chkName = $(this).attr('name'); 
    var checkVal = $(':checkbox[name='+chkName+']').attr('checked');//true or false 
    $.ajax({ 
     url: 'MyApp/update.php?checboxName=' + checkVal,//Do update on server-side 
     success: function(data) { 
     alert('Updated successful.'); 
     } 
    }); 
    }); 
}); 

而且,你可以做一個$('formID').serialize() wihch返回,然後可以在呼叫被附加到所有的表單元素的name = value對你的PHP腳本。