พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
PHP development / radio button
nutt
nutt
Tue 11 Sep 2007 11:13:29

 function Enable_se_department()
{
 if(document.all.ra[1].checked){
document.all.se00.style.visibility = "visible";
 }
  if(document.all.ra[0].checked){
document.all.se00.style.visibility = "hidden";
 }
}

คือว่ามี script แบบนี้อ่ะน่ะค่ะ แต่ด้วยความว่ามี radio หลายตัวมาก และ แต่ล่ะ radio มีหลายชื่อ จะเขียน script เพิ่มไปยังไงอ่ะค่ะ

nutt
nutt
Tue 11 Sep 2007 11:18:12
ลืมบอกไปค่ะว่า ข้อมูลดึงมาจาก Database ด้วยอ่ะค่ะ พอดึงมาแล้วก็จะมีประมาณ 50 row ได้ โดยมี radio 2 ตัวให้เลือก ในแต่ล่ะ row เมื่อเลือกตัวที่ radio 2 แล้วจะมี combo box ขึ้นมาค่ะ และถ้าเลือกตัวที่ radio 1 จะต้องไม่มี combo box ขึ้น
webmaster
webmaster
Tue 11 Sep 2007 13:00:56
ไม่ง่ายหรอกครับ ค่อยๆคิด

1. อาจจะ query แล้วก็เอามาเขียนเป็น javascript แล้วค่อยเอาไปแสดงข้อมูลอีกครั้ง
2. ใช้ javascript ล้วนๆ อันนี้ยากสำหรับคนไม่เป็น javascript

ส่วนตัวผมเลือกใช้วิธีที่ 2 ที่ทำให้โค๊ดสั้นและเร็ว ลองดูตัวอย่างได้ที่ http://servers.modoeye.com/Dell/PowerEdge_860
และ
http://servers.modoeye.com/Dell/PowerEdge_1950

ทั้ง 2 หน้า ข้อมูลเอามาจาก db เหมือนกันข้อมูลไม่เหมือนกัน แต่ใช้ javascript เดียวกันได้ ลองเอาไปประยุกต์ได้ครับ
nutt
nutt
Tue 11 Sep 2007 13:59:44
ขอบคุณมากค่ะ จะพยายามค้า
nutt
nutt
Tue 11 Sep 2007 14:13:34

code ส่วนที่ดึงข้อมูลมาโชว์ค่ะ

echo"<td><input  type='radio' name='ra".$y."' value=0 onclick=Enable_se_department() ></td>";
echo"<td><input  type='radio' name='ra".$y."' value=1 onclick=Enable_se_department()> </td>";

คืออยากจะถามว่าตรงโค้ด java script ด้านบนเนี้ย

function Enable_se_department()
{
 if(document.all.ra[1].checked){
document.all.se00.style.visibility = "visible";
 }
  if(document.all.ra[0].checked){
document.all.se00.style.visibility = "hidden";
 }
}

ส่วน document.all.ra[0].checked  ใน javascript จะเอาตัวเลขมาวนลูปได้รึเปล่าอ่ะค่ะ แล้วเอาค่านั้นใส่ด้านหลัง ra แล้วตามด้วย[0]<--- ค่าของ radio อย่างไร

เพราะว่าชื่อของ radio แต่ล่ะแถวเป็น ra1 ra2  ไปเรื่อยๆอ่ะค่ะ

webmaster
webmaster
Tue 11 Sep 2007 17:13:56
ใน form หนึ่งๆ จะมี name ที่ซ้ำกันได้เพียง element เดียวถ้าเป็น array ก็ต้องไม่ซ้ำกันไม่เช่นนั้นจะไม่สามารถอ้างอิง element นั้นๆได้

อย่างแรกคือคุณควรตั้งชื่อ select input เป็นชื่อเดียวกับ radio button ที่เกี่ยวข้องจะทำให้อ้างอิงได้ง่ายกว่าแล้วก็ check ค่าว่าเป็นค่าที่ต้องการหรือไม่ถ้าใช่ก็ให้แสดง select input ครับ
nutt
nutt
Wed 12 Sep 2007 09:32:32

อ่าคืออยากจะถามว่า ใน javascript ตาม function นี้

function Enable_se_department()
{
 if(document.all.ra[1].checked){ <----- หลัง ra สามารถใส่ตัวแปลวนลูปเพื่อบ่งชี้ว่าคือ ra1..ra50 ยังไงค่ะ
document.all.se00.style.visibility = "visible";
 }
  if(document.all.ra[0].checked){
document.all.se00.style.visibility = "hidden";
 }
}

คือว่าตอนนี้ กดแล้วมันก็ขึ้นอ่ะค่ะ แต่มันได้เฉพาะ บรรทัดที่เจะจงตัวแปลค่ะ

อยากจะให้มันวนลูปเพื่อให้ว่า ไม่ว่ากดบรรทัดไหนมันก็ขึ้นได้ค่ะ

nutt
nutt
Wed 12 Sep 2007 11:24:03

ได้แล้วค่ะ วิธีทำมันง่านนิดเดียวเองค่ะ แค่ต้องเข้าใจหลักการนิดหน่อย

ขอบคุณมากน่ะค่ะที่สละเวลามาช่วยตอบ

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login