ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingJquery ขอถามเรื่องการลบ Element ทีครับ
หน้า: [1] 2  ทั้งหมด   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: Jquery ขอถามเรื่องการลบ Element ทีครับ  (อ่าน 2516 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« เมื่อ: 09 มีนาคม 2012, 01:37:23 »

โค้ดตามนี้ัเลยครับ
http://jsfiddle.net/KGFGv/9/
คือตอนนี้ไม่รู้ว่า เวลาจะลบ element ปัจจุบันที่มี <li> ครอบอยู่ยังไง ผมเลยใช้ $i มากำหนด id ให้แต่ element ไปเลย แล้วตอนคลิกก็ส่ง $i ไปด้วย แต่ยังติดอยู่ครับ
รบกวนด้วยครับ เหลือเวลาอีก 2 วันจะต้องพรีเซนท์พรีโปรเจคแล้วครับบ  :'(
ขอบคุณครับ wanwan017
« แก้ไขครั้งสุดท้าย: 09 มีนาคม 2012, 23:44:07 โดย fogza » บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
suphot.s
ก๊วนเสียว
*

พลังน้ำใจ: 78
ออฟไลน์ ออฟไลน์

กระทู้: 486



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 09 มีนาคม 2012, 01:47:32 »

$(".del-item").click(function () {
     $(this).parent().remove();
});


ยังบ่ได้เทส แต่น่าจะ work
« แก้ไขครั้งสุดท้าย: 09 มีนาคม 2012, 01:48:13 โดย suphot.s » บันทึกการเข้า

fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #2 เมื่อ: 09 มีนาคม 2012, 02:45:10 »

$(".del-item").click(function () {
     $(this).parent().remove();
});


ยังบ่ได้เทส แต่น่าจะ work
มันยังไม่ work ครับ ผมลองใส่เป็น
$('.del-item').parent().remove();

มันลบแค่ <div class="img-details">........</div> กับตัวมันออกครับ ซึ่งจริงๆ ผมอยากให้ลบไปถึง <li class="item"> ครับ
บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
kenessar
ก๊วนเสียว
*

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 342



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 09 มีนาคม 2012, 09:28:22 »

ใช้ parents (มี s ด้วย) จะระบุตัวแม่ที่ต้องการได้ครับ ขอยืมโค้ดคุณ suphot.s หน่อยนะครับ

$(".del-item").click(function () {
     $(this).parents('li.item').remove();
});

ยังงี้น่าจะได้ครับ
บันทึกการเข้า


fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #4 เมื่อ: 09 มีนาคม 2012, 18:18:32 »

ยังไม่ได้เลยครับ ช่วยดูโค้ดให้ทีครับ
http://jsfiddle.net/KGFGv/1/
ไม่มีการตอบสนองอะไรเลยครับ  :'(
บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
anivox
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 51
ออฟไลน์ ออฟไลน์

กระทู้: 1,012



ดูรายละเอียด
« ตอบ #5 เมื่อ: 09 มีนาคม 2012, 18:43:15 »

:first-child
บันทึกการเข้า
fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #6 เมื่อ: 09 มีนาคม 2012, 18:52:58 »

:first-child

คือไม่ได้ลบแค่ตัวแรกอย่างเดียวนะครับ ถ้าคลิกลบตรงแถวไหน ก็ลบแถวนั้นออกนะครับ
นี่ที่ผมทำไว้
บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
bonshington
ก๊วนเสียว
*

พลังน้ำใจ: 47
ออฟไลน์ ออฟไลน์

กระทู้: 376



ดูรายละเอียด
« ตอบ #7 เมื่อ: 09 มีนาคม 2012, 19:05:28 »

"li:first"
บันทึกการเข้า
fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #8 เมื่อ: 09 มีนาคม 2012, 19:17:43 »

"li:first"
ยังไม่ได้ครับ  Cry
บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
suphot.s
ก๊วนเสียว
*

พลังน้ำใจ: 78
ออฟไลน์ ออฟไลน์

กระทู้: 486



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 09 มีนาคม 2012, 23:31:15 »

$(".del-item").click(function () {
     $(this).parent().remove();
});


ยังบ่ได้เทส แต่น่าจะ work

มันยังไม่ work ครับ ผมลองใส่เป็น
$('.del-item').parent().remove();

มันลบแค่ <div class="img-details">........</div> กับตัวมันออกครับ ซึ่งจริงๆ ผมอยากให้ลบไปถึง <li class="item"> ครับ


ลืม <ul> ป่าวครับ
http://jsfiddle.net/7jrSm/2/
บันทึกการเข้า

fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #10 เมื่อ: 09 มีนาคม 2012, 23:37:07 »

ผมมี <div class="show-imgH">...</div> ครอบอยู่นะครับ มันก็เหมือนกับมี ul อยู่หรือปล่าวครับ?
นี่โค้ดที่ผมทำครับ http://jsfiddle.net/KGFGv/9/
« แก้ไขครั้งสุดท้าย: 09 มีนาคม 2012, 23:43:58 โดย fogza » บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
tekub
ก๊วนเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 324



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 09 มีนาคม 2012, 23:49:55 »

ลอง
โค๊ด:
$('li[id='+numLine+']').remove();
บันทึกการเข้า

marus
ก๊วนเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 467



ดูรายละเอียด
« ตอบ #12 เมื่อ: 09 มีนาคม 2012, 23:51:50 »

$(".del-item").click(function () {
     $(this).parent().remove();
});


ยังบ่ได้เทส แต่น่าจะ work


ทดสอบแล้ว ผ่าน file ที่ทำการทดสอบ

โค๊ด:
http://file2.uploadfile.biz/i/EVEXMEIMMXWZWV

เจ้าของกระทู้ ลองทำดูดีๆ
บันทึกการเข้า
Splendith
คนรักเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด เว็บไซต์
« ตอบ #13 เมื่อ: 09 มีนาคม 2012, 23:56:56 »

$(".del-item").click(function () {
     $(this).parent().remove();
});


ยังบ่ได้เทส แต่น่าจะ work


ทดสอบแล้ว ผ่าน file ที่ทำการทดสอบ

โค๊ด:
http://file2.uploadfile.biz/i/EVEXMEIMMXWZWV

เจ้าของกระทู้ ลองทำดูดีๆ


มายืนยันว่าใช้ได้อีกคนคร้าบ  wanwan020
บันทึกการเข้า

fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #14 เมื่อ: 10 มีนาคม 2012, 00:07:52 »

ลอง
โค๊ด:
$('li[id='+numLine+']').remove();

ยังไม่ได้ครับ
ค่า i ที่ส่งมากับ <input type="hidden" name="num_line" value="'.$i.'" /> มันส่งมาแต่ 0 ครับ เป็นเพราะชื่อ num_line มันซ้ำกันหรือปล่าวครับ?

$(".del-item").click(function () {
     $(this).parent().remove();
});

ยังบ่ได้เทส แต่น่าจะ work


ทดสอบแล้ว ผ่าน file ที่ทำการทดสอบ

โค๊ด:
http://file2.uploadfile.biz/i/EVEXMEIMMXWZWV

เจ้าของกระทู้ ลองทำดูดีๆ

ผมลองดูตามที่อัพโหลดไฟล์มาให้ดูก็ได้นะครับ แต่ของผมมันเป็นแบบนี้ด้วยครับ
http://jsfiddle.net/7jrSm/6/
ลองดูหลายครั้งแล้วก็ยังไม่ได้ครับ  :'(
« แก้ไขครั้งสุดท้าย: 10 มีนาคม 2012, 00:19:07 โดย fogza » บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
suphot.s
ก๊วนเสียว
*

พลังน้ำใจ: 78
ออฟไลน์ ออฟไลน์

กระทู้: 486



ดูรายละเอียด เว็บไซต์
« ตอบ #15 เมื่อ: 10 มีนาคม 2012, 02:41:01 »

ลองใหม่ครับ
http://jsfiddle.net/7jrSm/12/

จริงๆ <li> ควรใช้คู่กับ <ul>, <ol> นะครับ
« แก้ไขครั้งสุดท้าย: 10 มีนาคม 2012, 02:44:30 โดย suphot.s » บันทึกการเข้า

fogza
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,307



ดูรายละเอียด
« ตอบ #16 เมื่อ: 10 มีนาคม 2012, 03:54:47 »

ลองใหม่ครับ
http://jsfiddle.net/7jrSm/12/

จริงๆ <li> ควรใช้คู่กับ <ul>, <ol> นะครับ

+1 ขอบคุณครับ ทำได้แล้ว

แต่ผมจะลบหลังจากมีการส่งค่ากลับมา ตอนนี้ติดปัญหาอยู่ 2 อย่างครับ
1. คือกดลบแล้ว ผมจะส่ง id รูป ไปให้ฟังก์ชัน php เช็ค แล้วส่งค่ากลับโดยใช้ .post(,..,...,..,..) มันใช้ $(this).parent().parent().remove(); ไม่ได้แล้วครับ
โค๊ด:
$.post(
'checkData.php?checkData=zone_edit_operation',
{id_image: $('input[name="id_img"]').val(), on: "del_img"},
function(response){
if(response != 0)
{
setTimeout( function(){
                             $(this).parent().parent().parent().remove();
},500);
}
else
{
alert("ผิดพลาด");
}
},
'html'
);
return false;
2. id รูปที่ใช้ while วันออกมาเก็บไว้ที่ <input type="hidden" name="id_img" value="'.$result_id.'" /> สมมุติว่ามีรูป 5 รูป กดลบรูปที่ 3 ก็ต้องส่ง id_img=3 แต่มันส่งแค่ 1 ตลอดเลยครับ ทัั้งๆ ที่เช็คดูค่าที่วนออกมาแล้วก็ถูกต้อง เป็นเพราะมันเก็บ name="" เหมือนกันหรือปล่าวครับ?
« แก้ไขครั้งสุดท้าย: 10 มีนาคม 2012, 03:58:52 โดย fogza » บันทึกการเข้า

:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::
pakorn362
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 28



ดูรายละเอียด
« ตอบ #17 เมื่อ: 10 มีนาคม 2012, 07:46:03 »

-อยากใช้ jquery กับ smf แต่ไม่รู้จะเริ่มไงครับ

รบกวนพี่ๆด้วยครับ  Cry
บันทึกการเข้า
suphot.s
ก๊วนเสียว
*

พลังน้ำใจ: 78
ออฟไลน์ ออฟไลน์

กระทู้: 486



ดูรายละเอียด เว็บไซต์
« ตอบ #18 เมื่อ: 10 มีนาคม 2012, 09:54:57 »

ลองใหม่ครับ
http://jsfiddle.net/7jrSm/12/

จริงๆ <li> ควรใช้คู่กับ <ul>, <ol> นะครับ

+1 ขอบคุณครับ ทำได้แล้ว

แต่ผมจะลบหลังจากมีการส่งค่ากลับมา ตอนนี้ติดปัญหาอยู่ 2 อย่างครับ
1. คือกดลบแล้ว ผมจะส่ง id รูป ไปให้ฟังก์ชัน php เช็ค แล้วส่งค่ากลับโดยใช้ .post(,..,...,..,..) มันใช้ $(this).parent().parent().remove(); ไม่ได้แล้วครับ
โค๊ด:
$.post(
'checkData.php?checkData=zone_edit_operation',
{id_image: $('input[name="id_img"]').val(), on: "del_img"},
function(response){
if(response != 0)
{
setTimeout( function(){
                             $(this).parent().parent().parent().remove();
},500);
}
else
{
alert("ผิดพลาด");
}
},
'html'
);
return false;
2. id รูปที่ใช้ while วันออกมาเก็บไว้ที่ <input type="hidden" name="id_img" value="'.$result_id.'" /> สมมุติว่ามีรูป 5 รูป กดลบรูปที่ 3 ก็ต้องส่ง id_img=3 แต่มันส่งแค่ 1 ตลอดเลยครับ ทัั้งๆ ที่เช็คดูค่าที่วนออกมาแล้วก็ถูกต้อง เป็นเพราะมันเก็บ name="" เหมือนกันหรือปล่าวครับ?


1. ใช้ var เก็บค่าไว้นอก $.post ก่อนครับ
โค๊ด:
var element = $(this).parent().parent().parent();
หลังจากได้ค่ากลับมาก็
โค๊ด:
element.remove();

2. มันซ้ำกันมันก็ไม่รู้จะเอาอันไหนมาให้ ต้องระบุให้เจาะจงกว่านี้ครับ
ไว้นอก $.post ต่อจาก element ด้านบน แล้วก็ส่ง img_id ไปได้เลย ลอง alert ดูก่อนก็ได้
โค๊ด:
var img_id = element.find('input[name="id_img"]').val();
alert(img_id);
ปล. ยังบ่ได้ลอง
บันทึกการเข้า

thai2ads
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 136
ออฟไลน์ ออฟไลน์

กระทู้: 1,172



ดูรายละเอียด เว็บไซต์
« ตอบ #19 เมื่อ: 10 มีนาคม 2012, 10:36:19 »

โค๊ด:
<div class="test"
    <ul>
    <li class="item">
        <div class="img-experimental">AAAA</div>
        <div class="img-details">AAAA
            <form method="POST" action="">
                <a href="#" class="del-item">ลบ</a>
            </form>
        </div>
    </li>

    <li class="item">
       <div class="img-experimental">BBBBBB</div>
        <div class="img-details">BBBBB
            <form method="POST" action="">
                <a href="#" class="del-item">ลบ</a>
            </form>
        </div>
    </li>

    <li class="item">
        <div class="img-experimental">CCCCC</div>
        <div class="img-details">CCCCC
            <form method="POST" action="">
                <a href="#" class="del-item">ลบ</a>
            </form>
        </div>
    </li>
</ul>
</div>​​​​​​​​​​​​

โค๊ด:
$(".del-item").click(function () {
     var parent=$(this).parent().parent().parent();
     parent.fadeOut('slow', function() {$(this).remove();});
});​

กำหนด <ul> ให้กับ li ด้วยครับ ไม่งั้น parent มันหา element แม่ของ li ไม่เจอ
« แก้ไขครั้งสุดท้าย: 10 มีนาคม 2012, 10:38:02 โดย thai2ads » บันทึกการเข้า

รับทำเว็บไซต์ เขียนระบบต่างๆตามที่ต้องการ (ยกเว้น 18+ กับการพนัน) ระบบมีปัญหาการใช้งานแจ้งพจได้เลยนะครับอย่าได้เกรงใจเพราะเดี๋ยวมันจะไม่รู้ปัญหา
ออกแบบเว็บไซต์ | รับทำเว็บไซต์ |
หน้า: [1] 2  ทั้งหมด   ขึ้นบน
พิมพ์