Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเกี่ยวกับ checkbox ให้ disable enable radio ครับ ซึ่งได้จากการคิวรีจากฐานข้อมูล



 

สอบถามเกี่ยวกับ checkbox ให้ disable enable radio ครับ ซึ่งได้จากการคิวรีจากฐานข้อมูล

 



Topic : 105246



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



ผมทำตารางบันทึกข้อมูล โดยดึงข้อมูลจากฐานข้อมูลมาแสดง แล้วลองใช้จาวามาควบคุมการแสดงผล แต่ก้ไม่สำเร็จ เลยอยากถามผู้รู้ช้วยทีครับว่าจะทำยังไงได้บ้าง

หน้าจอ
std

จากรูป เมื่อทำการติกถูกที่ checkbox แล้วให้ทำการ enable radio botton กับ textbox ด้านหลังครับ

ลองศึกษาตัวอย่างแล้ว แล้วลองทำแบบแสดงข้อมูลแบบตายตัว แต่ที่ทำเป็นแบบแสดงตามจำนวนที่มีในฐานข้อมูล จึงไม่รู้ว่าจะส่งค่าเช็คกับฟังก์ชั่นยังไงครับ
Code (PHP)
<td align="center">
        <input name="b<?=$userResult["IDstd"]; ?>" type="checkbox" class="css-checkbox" id="b<?=$userResult["IDstd"]; ?>" OnClick="JavaScript:if(this.checked){document.memberlist.r<?=$userResult["IDstd"]; ?>.disabled="";}else{document.memberlist.r<?=$userResult["IDstd"]; ?>.disabled="disabled";}" value=""/><label for="b<?=$userResult["IDstd"]; ?>" class="css-label1"></label>        </td>
        <td align="center"><?=$userResult["IDstd"]; ?></td>
        <td align="center"><?=$userResult["fname"]; ?>
          &nbsp;
          <?=$userResult["lname"]; ?></td>
        <td align="center">
<input name="r<?=$userResult["IDstd"]; ?>" type="radio" class="css-radio" id="r1<?=$userResult["IDstd"]; ?>" value="ขาด"/>
<label for="r1<?=$userResult["IDstd"]; ?>" class="css-label2">ขาด</label>
<input name="r<?=$userResult["IDstd"]; ?>" type="radio" class="css-radio" id="r2<?=$userResult["IDstd"]; ?>" value="ป่วย"/>
<label for="r2<?=$userResult["IDstd"]; ?>" class="css-label2">ลาป่วย</label>
<input name="r<?=$userResult["IDstd"]; ?>" type="radio" class="css-radio" id="r3<?=$userResult["IDstd"]; ?>" value=""/>
<label for="r3<?=$userResult["IDstd"]; ?>" class="css-label2">ลากิจ</label>	</td>
        <td align="center"><label>
          <input name="note<?=$userResult["IDstd"]; ?>" type="text" class="textbox" id="note" style="width:150px; height:20px" />
        </label></td>
      </tr>
      <?
}
?>
    </table>




Tag : PHP, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-01-30 14:01:38 By : akkaneetha View : 2288 Reply : 13
 

 

No. 1



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ทำให้ดูเป็นตัวอย่างน่ะครับ http://jsfiddle.net/KAgLS/
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#report input:radio , input:text").attr("disabled","disabled");
    $(":checkbox").click(function(){
        var rel = $(this).attr('rel');
        if($(this).is(":checked"))
            $("input[for='"+rel+"']").attr("disabled",false);
        else
            $("input[for='"+rel+"']").attr("disabled","disabled");
    });
});
</script>
<style="text/css">
td:nth-child(2){
    width:190px;
}
td:first-child{
    width:120px;
}
input:radio{
    padding-left:5px;
}
</style>

<table id="report">
    <tr><td><input type="checkbox" rel="09180" />09180</td>
        <td><input type="radio" name="daily[09180]" for="09180" value="ขาด" for="09180" />ขาด
            <input type="radio" name="daily[09180]" for="09180" value="ลา" for="09180" />ลา
            <input type="radio" name="daily[09180]" for="09180" value="มาสาย" for="09180" />มาสาย
        </td>
        <td><input type="text" name="remark[09180]" for="09180" size="5"  /></td>
    </tr>
</table>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-30 14:41:29 By : sakuraei
 


 

No. 2



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


มี for ซ้ำ ตัดออกน่ะครับ

for="09180" value="ขาด" for="09180"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-30 14:44:08 By : sakuraei
 

 

No. 3



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอบคุณมากครับ จะลองทำดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-30 16:31:02 By : akkaneetha
 


 

No. 4



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ลองดูน่ะครับ
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#report input:radio , input:text").attr("disabled","disabled");
    $(":checkbox").click(function(){
        var rel = $(this).attr('rel');
        if($(this).is(":checked"))
            $("input[for='"+rel+"']").attr("disabled",false);
        else
            $("input[for='"+rel+"']").attr("disabled","disabled");
    });
});
</script>
<style="text/css">
td:nth-child(2){
    width:190px;
}
td:first-child{
    width:120px;
}
input:radio{
    padding-left:5px;
}
</style>

<table id="report">
//.........................
//.....................................

<td align="center">
        <input name="b<?=$userResult["IDstd"]; ?>" type="checkbox" class="css-checkbox" rel="b<?=$userResult["IDstd"]; ?>" id="b<?=$userResult["IDstd"]; ?>"  value=""/><label for="b<?=$userResult["IDstd"]; ?>" class="css-label1"></label>        </td>
        <td align="center"><?=$userResult["IDstd"]; ?></td>
        <td align="center"><?=$userResult["fname"]; ?>
          &nbsp;
          <?=$userResult["lname"]; ?></td>
        <td align="center">
<input name="r<?=$userResult["IDstd"]; ?>" type="radio" class="css-radio" for="b<?=$userResult["IDstd"]; ?>" id="r1<?=$userResult["IDstd"]; ?>" value="ขาด"/>
<label for="r1<?=$userResult["IDstd"]; ?>" class="css-label2">ขาด</label>
<input name="r<?=$userResult["IDstd"]; ?>" type="radio" class="css-radio" for="b<?=$userResult["IDstd"]; ?>" id="r2<?=$userResult["IDstd"]; ?>" value="ป่วย"/>
<label for="r2<?=$userResult["IDstd"]; ?>" class="css-label2">ลาป่วย</label>
<input name="r<?=$userResult["IDstd"]; ?>" type="radio" class="css-radio" for="b<?=$userResult["IDstd"]; ?>" id="r3<?=$userResult["IDstd"]; ?>" value=""/>
<label for="r3<?=$userResult["IDstd"]; ?>" class="css-label2">ลากิจ</label>	</td>
        <td align="center"><label>
          <input name="note<?=$userResult["IDstd"]; ?>" type="text" class="textbox" id="note" for="b<?=$userResult["IDstd"]; ?>" style="width:150px; height:20px" />
        </label></td>
      </tr>
      <?
}
?>
    </table>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-30 17:42:15 By : sakuraei
 


 

No. 5



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอเพิ่มเติมอีกนิดครับ จากโค้ด
Code (PHP)
<script type="text/javascript">
$(document).ready(function(){
    $("#report input:radio , input:text").attr("disabled","disabled");
    $(":checkbox").click(function(){
        var rel = $(this).attr('rel');
        if($(this).is(":checked"))
            $("input[for='"+rel+"']").attr("disabled",false);
        else
            $("input[for='"+rel+"']").attr("disabled","disabled");
    });
});
</script>


หากต้องการให้ เมื่อเอาติกถูกออก แล้วให้ทำการรีเซ็ตค่า ของแถวนั้น ๆ ด้วยต้องเพิ่มยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 11:08:50 By : akkaneetha
 


 

No. 6



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ผมเองก็ไม่แน่ใจ ลองดูน่ะครับ
<script type="text/javascript">
$(document).ready(function(){
    $("#report input:radio , input:text").attr("disabled","disabled");
    $(":checkbox").click(function(){
        var rel = $(this).attr('rel');
        if($(this).is(":checked"))
            $("input[for='"+rel+"']").attr("disabled",false);
        else
            $("input[for='"+rel+"']").attr({"disabled":"disabled","checked":false});
    });
});
</script>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 11:54:18 By : sakuraei
 


 

No. 7



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ผมมีปัญหากับการส่งค่าของ radio button ครับ
จากโค้ด
Code (PHP)
<input type="radio" class="css-radio" name="cause<?=$userResult["IDstd"]; ?>" id="r1<?=$userResult["IDstd"]; ?>" value="1" for="rel<?=$userResult["IDstd"]; ?>"/><label for="r1<?=$userResult["IDstd"]; ?>" class="css-label2">ขาด</label>
<input type="radio" class="css-radio" name="cause<?=$userResult["IDstd"]; ?>" id="r2<?=$userResult["IDstd"]; ?>" value="2" for="rel<?=$userResult["IDstd"]; ?>"/><label for="r2<?=$userResult["IDstd"]; ?>" class="css-label2">ลาป่วย</label>
<input type="radio" class="css-radio" name="cause<?=$userResult["IDstd"]; ?>" id="r3<?=$userResult["IDstd"]; ?>" value="3" for="rel<?=$userResult["IDstd"]; ?>"/><label for="r3<?=$userResult["IDstd"]; ?>" class="css-label2">ลากิจ</label>


แต่เดิมตรง name ใช้ name="cause<?=$userResult["IDstd"]; ?>" เพื่อให้สามารถคลิกได้ ของแต่ละแถว แต่ไม่รู้จะเข้า array ยังไง สำหรับตอนบันทึก เลยลองเปลี่ยนเป็น name="cause[]" แล้วลองดู กลับแสดงผลได้แค่แถวแรก (สมมติเลือกข้อมูลบันทึก 3 แถว) แต่ข้อมูลอื่น ๆ แสดงได้ปกติ

โค้ด object อื่น

Code (PHP)
<input type="checkbox" class="css-checkbox" name="std[]" id="id<?=$userResult["IDstd"]; ?>" rel="rel<?=$userResult["IDstd"]; ?>" value="<?=$userResult["IDstd"]; ?>"/><label for="id<?=$userResult["IDstd"]; ?>" class="css-label1"></label>

<input name="note[]" type="text" class="textbox" id="note" style="width:150px; height:20px" for="rel<?=$userResult["IDstd"]; ?>" />


ตอนนี้เหลือส่วน radio เท่านั้นที่ไม่สามารถแสดงผลได้ครับ ช่วยดูให้หน่อยครับ

โค้ด บันทึก (กรณนี้ขอ echo ค่าก่อน ถ้า echo ได้ ก็น่าจะบันทึกได้ช่นกัน)

Code (PHP)
<?
for($i=0;$i<count($_POST["std"]);$i++)
	{
		if($_POST["std"][$i] != "")
		{
			echo "std $i = ".$_POST["std"][$i]."<br>";
			echo " ".$_POST["cause"][$i]."<br>";
			echo " ".$_POST["note"][$i]."<br>";
			echo "----------------------------------------<br>";
		}
	}
?>



123

จากรูป อธิบายเพิ่มเติม ได้เลือกไว้สามแถว โดยปกติ ควรจะเลือก radio ได้แถวละอัน แต่จากรูปนั้น 3 แถวสามารถเลือกได้เพียงแค่อันเดียว


ประวัติการแก้ไข
2014-01-31 14:14:54
2014-01-31 14:17:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 14:10:53 By : akkaneetha
 


 

No. 8



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


name="cause[<?=$userResult["IDstd"];?>]"

แล้วใช้ foreach ดึงข้อมูลออกมาครับ

foreach($_POST["cause"] as $idstd => $value)
echo "$idstd = $value<br />\n";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 14:35:51 By : sakuraei
 


 

No. 9



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ใช้ css ตัวไหนครับ สวยดี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 14:38:36 By : sakuraei
 


 

No. 10



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

CSS ใช้จากหลาย ๆ ที่ อ่ะครับ หาไปเรื่อย

http://html-generator.weebly.com/

http://web.ofebia.com/contents/title/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%A1%E0%B8%B8%E0%B8%A1%E0%B9%82%E0%B8%84%E0%B9%89%E0%B8%87%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-CSS3-create-rounded-corner-with-CSS3

http://www.csscheckbox.com/

----------------------------------------------------------------------------------------------

เดี๋ยวขอลองทำดูก่อนนะครับ นิดนึง
ให้ใช้อย่างนี้เลยรึป่าวครับ
Code (PHP)
<?
for($i=0;$i<count($_POST["std"]);$i++)
	{
		if($_POST["std"][$i] != "")
		{
			echo "std $i = ".$_POST["std"][$i]."<br>";
			//echo " ".$_POST["cause"][$i]."<br>";
			echo " ".$_POST["note"][$i]."<br>";
			foreach($_POST["cause"] as $idstd => $value)
			echo "$idstd = $value<br />\n";

			echo "----------------------------------------<br>";
		}
	}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 14:48:47 By : akkaneetha
 


 

No. 11



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ใน input text ใช้ IDstd ด้วยครับ
name="cause[<?=$userResult["IDstd"];?>]"
name="std[<?=$userResult["IDstd"];?>]"
name="note[<?=$userResult["IDstd"];?>]"



Code (PHP)
<?php
foreach($_POST["std"] as $idstd => $stdvalue)
{
		if($stdvalue != "")
		{
			echo "std $idstd = $stdvalue<br>";
			echo "cause $idstd =".$_POST["cause"][$idstd]."<br>";
			echo "note $idstd =".$_POST["note"][$idstd]."<br>";
			echo "----------------------------------------<br>";
		}
	}
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 14:57:31 By : sakuraei
 


 

No. 12



โพสกระทู้ ( 350 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอบคุณครับ แสดงข้อมูลได้แล้วครับ

แต่ติดตรงที่ว่า ผมทำความเข้าใจกับโค้ดไม่ได้เลย
ระหว่าง for($i=0;$i<count($_POST["std"]);$i++) อันนี้เคยใช้อยู่ประจำ ก็พอเข้าใจ
กับ
foreach($_POST["std"] as $idstd => $stdvalue) แต่อันนี้ไม่เข้าใจเลย

ทำงานด้วยเงื่อนไขเหมือนกันรึป่าว แล้วถ้าจะปรับใช้ในการ insert ลงฐานข้อมูลจะใช้เหมือนกับ for รึป่าว

for($i=0;$i<count($_POST["std"]);$i++)
{
if()
{
insert to sql
}
}
echo "สำเร็จ";

จะใช้แบบด้านบนได้มั้ย

foreach($_POST["std"] as $idstd => $stdvalue)
{
if($stdvalue != "")
{
insert to sql
}
}
echo "สำเร็จ";

แต่ส่วนนี้เด๊่ยวผมจะลองดู คงจะได้รู้กัน แต่คงไม่เข้าใจโค้ดจริง ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 15:21:37 By : akkaneetha
 


 

No. 13



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เหมือนกันครับ และยังได้ idstd ส่งมาพร้อมๆกับตัวแปรอาร์เรย์อีกด้วย note,std,cause
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-31 15:24:21 By : sakuraei
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเกี่ยวกับ checkbox ให้ disable enable radio ครับ ซึ่งได้จากการคิวรีจากฐานข้อมูล
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่