Jquery ขอถามเรื่องการลบ Element ทีครับ

เริ่มโดย fogza, 09 มีนาคม 2012, 01:37:23

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

fogza

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


suphot.s

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


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

fogza

อ้างถึงจาก: suphot.s ใน 09 มีนาคม 2012, 01:47:32
$(".del-item").click(function () {
    $(this).parent().remove();
});


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

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


kenessar

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

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

ยังงี้น่าจะได้ครับ


fogza

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


anivox


fogza

อ้างถึงจาก: anivox ใน 09 มีนาคม 2012, 18:43:15
:first-child
คือไม่ได้ลบแค่ตัวแรกอย่างเดียวนะครับ ถ้าคลิกลบตรงแถวไหน ก็ลบแถวนั้นออกนะครับ
นี่ที่ผมทำไว้
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::


bonshington


fogza

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


suphot.s

อ้างถึงจาก: fogza ใน 09 มีนาคม 2012, 02:45:10
อ้างถึงจาก: suphot.s ใน 09 มีนาคม 2012, 01:47:32
$(".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

#10
ผมมี <div class="show-imgH">...</div> ครอบอยู่นะครับ มันก็เหมือนกับมี ul อยู่หรือปล่าวครับ?
นี่โค้ดที่ผมทำครับ http://jsfiddle.net/KGFGv/9/
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::


tekub

[direct=http://www.easysoft.co.th/products/minimart]โปรแกรมร้านมินิมาร์ท โปรแกรมขายหน้าร้าน[/direct]
[direct=http://www.easysoft.co.th/products/topup]เติมเงินมือถือออนไลน์ จุดรับชำระบิลออนไลน์[/direct]

marus

อ้างถึงจาก: suphot.s ใน 09 มีนาคม 2012, 01:47:32
$(".del-item").click(function () {
    $(this).parent().remove();
});


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

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

http://file2.uploadfile.biz/i/EVEXMEIMMXWZWV

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

Splendith

อ้างถึงจาก: marus ใน 09 มีนาคม 2012, 23:51:50
อ้างถึงจาก: suphot.s ใน 09 มีนาคม 2012, 01:47:32
$(".del-item").click(function () {
    $(this).parent().remove();
});


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

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

http://file2.uploadfile.biz/i/EVEXMEIMMXWZWV

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

มายืนยันว่าใช้ได้อีกคนคร้าบ  :wanwan020:
[direct=http://www.golity.com]Golity - บล็อกพาชมภาพเที่ยว ที่พัก กิน ไปแล้วดี มีบอกต่อ[/direct]

fogza

#14
อ้างถึงจาก: tekub ใน 09 มีนาคม 2012, 23:49:55
ลอง

$('li[id='+numLine+']').remove();

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

อ้างถึงจาก: marus ใน 09 มีนาคม 2012, 23:51:50
อ้างถึงจาก: suphot.s ใน 09 มีนาคม 2012, 01:47:32
$(".del-item").click(function () {
    $(this).parent().remove();
});

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

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

http://file2.uploadfile.biz/i/EVEXMEIMMXWZWV

เจ้าของกระทู้ ลองทำดูดีๆ
ผมลองดูตามที่อัพโหลดไฟล์มาให้ดูก็ได้นะครับ แต่ของผมมันเป็นแบบนี้ด้วยครับ
http://jsfiddle.net/7jrSm/6/
ลองดูหลายครั้งแล้วก็ยังไม่ได้ครับ  :'(
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::


suphot.s

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

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

fogza

#16
อ้างถึงจาก: suphot.s ใน 10 มีนาคม 2012, 02:41:01
ลองใหม่ครับ
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="" เหมือนกันหรือปล่าวครับ?
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::


pakorn362

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

รบกวนพี่ๆด้วยครับ  :'(

suphot.s

อ้างถึงจาก: fogza ใน 10 มีนาคม 2012, 03:54:47
อ้างถึงจาก: suphot.s ใน 10 มีนาคม 2012, 02:41:01
ลองใหม่ครับ
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

#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 ไม่เจอ
รับทำเว็บไซต์ เขียนระบบต่างๆตามที่ต้องการ
รับทำเว็บไซต์ | ทองคำราคาวันนี้