Rumah  >  Artikel  >  hujung hadapan web  >  idea ajax jQuery untuk melaksanakan klik tetikus untuk mengubah suai content_jquery

idea ajax jQuery untuk melaksanakan klik tetikus untuk mengubah suai content_jquery

WBOY
WBOYasal
2016-05-16 16:42:581146semak imbas

Kod untuk baris dalam jadual sedia ada kelihatan seperti ini:
Kesannya boleh dilihat dalam paparan 51 carian khusus http://www.51bt.cc Digabungkan dengan teknologi perolehan teks penuh Xunsearch, carian data peringkat milisaat boleh dicapai

.
<tr>
<td><span class="catid">2</span></td>
<td>公司介绍</td>
<td>内部栏目</td>
<td><span class="listorder" title="点击修改">2</span></td>
</tr>

Idea untuk mengubah suai kandungan dengan klik tetikus adalah seperti berikut:

1. Klik nombor dalam lajur pengisihan lajur untuk mendapatkan kandungan dalam lajur pertama baris yang sama, iaitu id lajur
2. Sembunyikan nombor dalam pengisihan lajur
3. Masukkan kotak input ke dalam lajur pengisihan lajur, paparkan kandungan dalam pengisihan lajur dalam kotak input dan tetapkannya sebagai fokus
4. Ubah suai kandungan dalam input, serahkan data apabila fokus hilang, dan gunakan ajax untuk memindahkan data ke pelayan Kaedahnya ialah kaedah pos
5. Apabila menyerahkan data, peringatan mesra akan muncul bahawa ia sedang diubah suai. . . Atau tunggu gambar
6. Kembalikan mesej kejayaan dan paparkan semula kandungan yang diubah suai Alih keluar kotak input

Kod teras jquery yang melaksanakan fungsi ini adalah seperti berikut:

$('.listorder').click(function(e){
var catid = $(this).parent().siblings("td:eq(0)").text();//获取同一行上 第一列中的id值
var listorder_now_text = $(this).text();//获取listorder中的内容 先保存起来
$(this).text("");//设置内容为空
var list_form = '<input type="text" value="'+listorder_now_text+'" size=2 class="listorder_input" />' ;
$(this).parent().append(list_form); //插入 input框
$(".listorder_input").focus();
//自定义一个div 提示修改中
var loading = '<div id="loading"><img src="img/loading.gif" alt="修改中..."/></div>';
$(this).parent().append(loading);
$('#loading')
.css({
"color" : "red" ,
"display" : "none"
})
//定义ajax的全局事件
$(this).ajaxStart(function(){
$('#loading').show();
})
$(this).ajaxStop(function(){
$('#loading').remove();
})
$(".listorder_input").blur(function(){
var thislist = $(this).siblings(); //取得同级的标签 即 修改后需要显示的 listorder
$.post("ajax.php",{
action : "mod_listorder",
catid : catid ,
listorder : $(this).attr("value")
} , function(data, textStatus){
$(thislist).text(data);
}
);//end .post
$(this).remove();
})//end function blur
})// end

Kandungan dalam fungsi clickajax.php adalah mudah Ia hanya digunakan untuk pemprosesan dan demonstrasi, dan tiada data diserahkan kepada pelayan adalah seperti berikut:

sleep(1);//延时运行1秒,查看效果用,实际代码中不需要
echo $_POST['listorder'];
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn