<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>雙擊修改</title>
<script src="jq.js"></script>
</head>
<body>
<?php
$con = array(
array("id"=>1,"姓名"=>"張三","性別"=>"女"),
array("id"=>2,"姓名"=>"李四","性別"=>"男"),
array("id"=>3,"姓名"=>"王五","性別"=>"男"));
// print_r($con);die;
?>
<table align="center" border="1">
<?php foreach ($con as $key => $v): ?>
<tr id="<?= $v['id'];?>">
<td signs="user_name" style="width:100px">
<input style="border:0; text-align: center; width:50px; background: #fff;"
type="text" disabled="disabled" readonly="readonly" value="<?= $v['姓名'];?>" >
</td>
<td signs="user_sex" style="width:100px">
<input style="border:0; text-align: center; width:50px; background: #fff;"
type="text" disabled="disabled" readonly="readonly" value="<?= $v['性別'];?>" >
</td>
</tr>
<?php endforeach ?>
</table>
</body>
</html>
<script>
//雙擊觸發事件
$("tbody>tr>td").dblclick(function(){
//獲取到 當前 input 下的元素(原值)
window.olds = $(this).children('input').val();
if(olds==undefined)
{
return false;
}
var signs = $(this).attr('signs'); //獲取屬性值(這些值方便php後臺的操作)
var user_id = $(this).parent().attr("id"); //接受當前點擊的ID(tr裏的id)
//雙擊之後可以修改
$(this).find('input').attr("disabled",false);
$(this).find('input').attr("readonly",false);
$(this).find('input').css("border",'1px solid deepskyblue');
$(this).find('input').attr('id', signs + "_" + user_id); //方便下面失去焦點事件 找ID(沒有這個無法定位到tr裏面的id屬性)
//循環這些值從而判斷是修改數據的類型,對一些特殊類型的數據進行特殊處理
switch(signs){
case 'user_name':
$("#" + signs + "_" + user_id).focus().on("blur",function(){
var content = $(this).val();
if(content!=olds) //與原值不同則傳到後臺
{
// alert(user_id);alert(signs);alert(content);
/*
通過getJSON將數據傳輸到後臺
USER_ID
SIGNS
CONTENT
*/
}
$(this).attr('disabled', 'disabled');
$(this).attr('readonly', 'readonly');
$(this).css('border', '0');
$(this).css('background', '#fff');
$(this).css('text-align', 'center');
})
break;
case 'user_sex':
$("#" + signs + "_" + user_id).focus().on("blur",function(){
var content = $(this).val();
if(content!=olds)
{
// alert(user_id);
}
$(this).attr('disabled', 'disabled');
$(this).attr('readonly', 'readonly');
$(this).css('border', '0');
$(this).css('background', '#fff');
$(this).css('text-align', 'center');
})
}
})
</script>
雙擊修改
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.