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

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

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

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

กระทู้: 875



ดูรายละเอียด
« เมื่อ: 18 พฤศจิกายน 2014, 12:14:04 »

<div id="options">
 <div class="option">aaa</div>
 <div class="option">bbb</div>
 <div class="option">ccc</div>
 <div class="option">ddd</div>
</div>

จะเข้าถึง .option แต่ละตัวได้อย่างไรครับ คือโง่ jq มาก  Tongue Tongue Tongue
กับอีกคำถาม ถ้าผมเอาเมาส์ hover .option ที่1 หรือ ที่2 แล้วอยากให้ .option ที่3และ4 มันใช้งานไม่ได้นี้ต้องเขียนประมาณไหนครับ
คือใน .option แต่ละตัวอาจจะมี select radio checkbox textbox textarea อยู่ อยากให้มัน disable ไปเลยครับ

+1 ทุกคำตอบครับ  wanwan017 wanwan017 wanwan017
บันทึกการเข้า
ossytong
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,151



ดูรายละเอียด
« ตอบ #1 เมื่อ: 18 พฤศจิกายน 2014, 12:17:23 »

ผมเขียนแบบยาวๆให้นะครับจะเข้าใจง่ายขึ้นครับ

$("div#options").find('div.option').eq({ลำดับของข้อมูลที่ต้องการเข้าถึง})

ส่วนการดัก hover ก็ เติม event .hover(funciton(event){}); ต่อได้เลยครับ จะ blind ตัวไนห ถ้าจะ blind ทั้งหมดก็ตัด .eq ไม่ต้องระบุ ตำแหน่งออกครับ

เช่น จะ Bline Hover ตัวที่ 1 ก็
$("div#options").find('div.option').eq(0).hover(function(event){ ....... });

ส่วน คำถามที่จะให้ element   ภายในตัวที่ blind event disable ก็เขียนต่ออีก Step จะได้ประมาณนี้ครับ
$("div#options").find('div.option').eq(0).hover(function(event){ $(this).find('select').attr('disabled', 'disabled'); });

ก็จะได้ว่า ถ้ามีการ hover option ตัวที่ 1 จะทำการ disableld element select นั่นเอง
« แก้ไขครั้งสุดท้าย: 18 พฤศจิกายน 2014, 12:27:33 โดย ossytong » บันทึกการเข้า
amazegu
สมุนแก๊งเสียว
*

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

กระทู้: 875



ดูรายละเอียด
« ตอบ #2 เมื่อ: 18 พฤศจิกายน 2014, 12:28:40 »

ผมเขียนแบบยาวๆให้นะครับจะเข้าใจง่ายขึ้นครับ

$("div#options").find('div.option').eq({ลำดับของข้อมูลที่ต้องการเข้าถึง})

ส่วนการดัก hover ก็ เติม event .hover(funciton(event){}); ต่อได้เลยครับ จะ blind ตัวไนห ถ้าจะ blind ทั้งหมดก็ตัด .eq ไม่ต้องระบุ ตำแหน่งออกครับ

เช่น จะ Bline Hover ตัวที่ 1 ก็
$("div#options").find('div.option').eq(0).hover(function(event){ ....... });

ส่วน คำถามที่จะให้ element   ภายในตัวที่ blind event disable ก็เขียนต่ออีก Step จะได้ประมาณนี้ครับ
$("div#options").find('div.option').eq(0).hover(function(event){ $(this).find('select').attr('disabled', 'disabled'); });

ก็จะได้ว่า ถ้ามีการ hover option ตัวที่ 1 จะทำการ disableld element select นั่นเอง


+1 ขอบคุณมากๆครับ เดี๋ยวขอไปลองทำดูก่อนครับ ท่านคอื่นที่มีวิธีการเขียนแบบอื่นก็แนะนำได้น่ะครับ
บันทึกการเข้า
Surakrai
ก๊วนเสียว
*

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

กระทู้: 321



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 18 พฤศจิกายน 2014, 13:13:22 »

var selected = $('#options .option');
selected.hover(function(){   
    if ($(this).index() == 0) {   //เช็คลำดับ .option ที่เราเอาเมาไปชี้  ถ้า  index() == 0 ก็คือ .option ลำดับที่ 1
      selected.eq(1).find('select').prop( "disabled", true );    // ให้ disabled select ใน .option ลำดับที่ 2 
   }
});

ตัวอย่าง http://jsfiddle.net/surakrai/5ogr0ug9/
บันทึกการเข้า
amazegu
สมุนแก๊งเสียว
*

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

กระทู้: 875



ดูรายละเอียด
« ตอบ #4 เมื่อ: 18 พฤศจิกายน 2014, 13:24:15 »

var selected = $('#options .option');
selected.hover(function(){   
    if ($(this).index() == 0) {   //เช็คลำดับ .option ที่เราเอาเมาไปชี้  ถ้า  index() == 0 ก็คือ .option ลำดับที่ 1
      selected.eq(1).find('select').prop( "disabled", true );    // ให้ disabled select ใน .option ลำดับที่ 2 
   }
});

ตัวอย่าง http://jsfiddle.net/surakrai/5ogr0ug9/


+1 แรงๆเลยครับ ทำได้แล้วครับ  wanwan020 wanwan020 wanwan020
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์