實(shí)現(xiàn)表格雙擊可修改惋戏,修改后保存按鈕提交,取消則不提交他膳。
表格代碼:
<table>
<tr>
<th>序號(hào)</th>
<th>標(biāo)題</th>
<th>內(nèi)容</th>
</tr>
<tr>
<th>1</th>
<td id='xx1'>你好</td>
<td id='xx2'>你好</td>
</tr>
<tr>
<th>2</th>
<td id='xxx1'>試試</td>
<td id='xxx2'>試試</td>
</tr>
</table>
實(shí)現(xiàn)表格中td都可以修改(th不做修改)响逢, JS代碼(這部分代碼與table代碼在同一個(gè)頁面):
<script type="text/javascript" src="js/jquery-3.2.1.js"></script>
<script type="text/javascript">
function refresh() {
self.location.reload();
}
$(function(){
$('table td.edit').dblclick(function(){
if(!$(this).is('.input')){
$(this).addClass('input').html('<form><input type="text" value="'+ $(this).text() +'" autofocus /><input type="submit" value="Save" /><input type="button" onclick="refresh()" value="Cancel"></form>').find('form').click().submit(function(){
var thisid = $(this).parent().siblings("th:eq(0)").text();
var thisvalue=$(this).find('input').val();
var thisclass = $(this).parent().attr("id");
$.ajax({
type: 'POST',
url: 'Update.php',
data: "thisid="+thisid+"&thisclass="+thisclass+"&thisvalue="+thisvalue
});
$(this).parent().removeClass('input').html($(this).find('input').val() || 0);
});
}
}).hover(function(){
$(this).addClass('hover');
},function(){
$(this).removeClass('hover');
});
});
</script>
傳遞這個(gè)表格的對(duì)應(yīng)的第一個(gè)序號(hào)為thisid,新輸入的內(nèi)容為thisvalue棕孙,表格對(duì)應(yīng)的屬性id為thisclass舔亭,將這些參數(shù)傳遞到Update.php:
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'xxx');
define('DB_PASS', 'xxx');
define('DB_NAME', 'xxx');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASS,DB_NAME);
$id = trim($_REQUEST['thisid']);
$thisclass = trim($_REQUEST['thisclass']);
$thisvalue= trim($_REQUEST['thisvalue']);
if (substr_count($thisclass," ")>0){
$thisclass=str_replace(" ","",$thisclass);
}
if (substr_count($thisclass,"input")>0){
$thisclass=str_replace("input","",$thisclass);
}
$update_sql = "update Build_Data set $thisclass='$thisvalue' where Build_Id='$id'";
if (!mysqli_query($dbc,$update_sql)) {
printf ("Error Message: %s\n", mysqli_error($dbc));
}
?>