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,038

HOME > PHP > PHP Forum > ถ้าต้องการเขียน check ว่า ปุ่ม checkbox นี้ check หรือ uncheck ต้องเขียนเงื่อนไขยังไงหรอคะ


[PHP] ถ้าต้องการเขียน check ว่า ปุ่ม checkbox นี้ check หรือ uncheck ต้องเขียนเงื่อนไขยังไงหรอคะ

 
Topic : 132257



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



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


ถ้าต้องการเขียน check ว่า ปุ่ม checkbox นี้ check หรือ uncheck ต้องเขียนรูปแบบยังไงคะ แบบ ถ้าcheck แล้ว ให้ทำ+ ข้อมูล ถ้า uncheck ก็ให้ลบข้อมูล

ตอนนี้เขียนไปแบบนี้ค่ะ ไม่ค่อยเข้าใจ งง ต้องทำโปรเจ็ค ช่วยดูให้หน่อยนะคะ

Code (JavaScript)
01.if(document.messageCheckbox.checked == true){
02.                   $('.messageCheckbox').click(function(){
03.                   var priceID=$(this).val();
04.                   var priceold=parseInt($('#showprice').html());
05.                   fieldNum++; 
06.                    $('#fieldNum').html(fieldNum);  //# = ID, . = ตัวแปล
07.                    $.get('checkprice.php?price='+priceID, function(data){
08.                   // alert(data);
09.                   var pricenew= priceold + parseInt(data);
10.                   $('#showprice').html(pricenew);
11.                    });
12.        }else{
13.            $('.messageCheckbox').click(function(){
14.                   var priceID=$(this).val();
15.                   var priceold=parseInt($('#showprice').html());
16.                   fieldNum--; 
17.                    $('#fieldNum').html(fieldNum);  //# = ID, . = ตัวแปล
18.                    $.get('checkprice.php?price='+priceID, function(data){
19.                   // alert(data);
20.                   var pricenew= priceold - parseInt(data);
21.                   $('#showprice').html(pricenew);
22.                    });
23.        }




Tag : PHP, jQuery, Appserv



ประวัติการแก้ไข
2018-10-07 21:53:23
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-10-07 21:43:42 By : 1851112778284115 View : 1271 Reply : 14
 

 

No. 1



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


Code (JavaScript)
1.if( $('checkbox').prop('checked') ){
2.   //is checked
3.}else{
4.   //none checked
5.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-07 21:53:56 By : Chaidhanan
 

 

No. 2



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



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

ไม่ได้อ่ะค่ะ ตรงส่วน else หนูผิดตรงไหนรึเปล่าคะ

Code (JavaScript)
01.if ($('messageCheckbox').prop('checked')){
02.                       $('.messageCheckbox').click(function(){
03.                       var priceID=$(this).val();
04.                       var priceold=parseInt($('#showprice').html());
05.                       fieldNum++; 
06.                        $('#fieldNum').html(fieldNum);  //# = ID, . = Class
07.                        $.get('checkprice.php?price='+priceID, function(data){
08.                       // alert(data);
09.                       var pricenew= priceold + parseInt(data);
10.                       $('#showprice').html(pricenew);
11.                        });
12.            }else{
13.                       $('.messageCheckbox').click(function(){
14.                       var priceID=$(this).val();
15.                       var priceold=parseInt($('#showprice').html());
16.                       fieldNum--; 
17.                        $('#fieldNum').html(fieldNum);  //# = ID, . = Class
18.                        $.get('checkprice.php?price='+priceID, function(data){
19.                       // alert(data);
20.                       var pricenew= priceold - parseInt(data);
21.                       $('#showprice').html(pricenew);
22.                        });
23.            }



ประวัติการแก้ไข
2018-10-07 22:49:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-07 22:45:11 By : 1851112778284115
 

 

No. 3



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


เป็น class ต้องใส่จุด
เป็น id ต้องต้องใส่ #
เป็น tag ต้องใส่ชื่อ tag
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-07 23:15:06 By : Chaidhanan
 

 

No. 4



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



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

เป็น Class ค่ะ ใส่ .messageCheckbox แล้วก็ไม่ได้ค่ะ


ประวัติการแก้ไข
2018-10-07 23:26:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-07 23:25:41 By : 1851112778284115
 

 

No. 5



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


ลองทดสอบ แค่ if else ก่อน
if ($('.messageCheckbox').prop('checked')){
alert(' is checked');
}else{
alert(' no chedked');
}

คิดว่า if else คงไม่มีปัญหา น่าจะมีปัญหา การกำหนด function นั้นแหล่ะมั้ง
วงเล็บล่างมันไม่ครบ และ ใช้ เป็นฟังก์ชั่นเดียวแล้วเอา if else เข้าไปเช็คข้างใน เพื่อกำหนดการทำงาน ดีกว่าไหม
เขียนแบบนั้นมันซ้ำซ้อนไปหรือเปล่า

Code (JavaScript)
01.var sign = $('.messageCheckbox').prop('checked') ? 1 : -1
02.$(".messageCheckbox').click((e)=>{
03.   //......
04.   //.....
05.   //.....
06.    fieldNum += sign;  //ถ้า sign มีค่าเป็น - ก็จะทหน้าที่ เหมือน fieldNum--; ถ้าเป็นบวกก็เหมือน fieldNum++
07.    //....
08.    //....
09.});

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 00:01:50 By : Chaidhanan
 

 

No. 6



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



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

if else มันทำงานแค่ตรง else อ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 00:53:56 By : 1851112778284115
 

 

No. 7



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


งั้นขอดู html ที่เป็น checkbox หน่อยครับ เขียนอะไรผิดหรือเปล่า อาจจะอ้างอิง อะไรผิด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 10:58:42 By : Chaidhanan
 

 

No. 8



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



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

checkbox เป็นการวนลูปค่ะ


Code (PHP)
1.if ($_SESSION['user_id']) {
2.            if ($row['booking'] == "ว่าง") {
3.                echo '<td id="col_checking" class="center" ><input class="messageCheckbox" id="booking'.$row["time_id"].'" type="checkbox" name="booking'.$row["time_id"].'" value="'.$row["time_id"].'"></input></td>';
4. 
5.            } else {
6.                echo '<td class="center"><input class="messageCheckbox" id="booking'.$row["time_id"].'" type="checkbox" name="booking'.$row["time_id"].'" value="'.$row["time_id"].'" disabled></input>



ประวัติการแก้ไข
2018-10-08 22:57:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 22:51:58 By : 1851112778284115
 

 

No. 9



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



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

พอใส่แบบนี้แล้วค่ามันแสดงติดลบตั้งแต่ค่าแรกเลยอ่ะค่ะ

Code (PHP)
01.if ($('.messageCheckbox').prop('checked')){
02.                      $('.messageCheckbox').click(function(){
03.                       var priceID=$(this).val();
04.                       var priceold=parseInt($('#showprice').html());
05.                       fieldNum++; 
06.                        $('#fieldNum').html(fieldNum);  //# = ID, . = ตัวแปล
07.                        $.get('checkprice.php?price='+priceID, function(data){
08.                       // alert(data);
09.                       var pricenew= priceold + parseInt(data);
10.                       $('#showprice').html(pricenew);
11.                        });
12.                    });
13.                    }else{
14.                     $('.messageCheckbox').click(function(){
15.                       var priceID=$(this).val();
16.                       var priceold=parseInt($('#showprice').html());
17.                       fieldNum--; 
18.                        $('#fieldNum').html(fieldNum);  //# = ID, . = ตัวแปล
19.                        $.get('checkprice.php?price='+priceID, function(data){
20.                       // alert(data);
21.                       var pricenew= priceold - parseInt(data);
22.                       $('#showprice').html(pricenew);
23.                        });
24.                     });
25.                     }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 23:12:29 By : 1851112778284115
 

 

No. 10



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


และคำสั่ง คห2 อยู่ใน loop เหมือนกันไหม
เดาเอาว่าอยู่ใน loop เหมือนกัน ไม่งั้น จะมี If มาตรวจสอบทำไม

ก็บอกได้เลยว่า algorithm ไม่ถูกต้อง
การกำหนด function ให้ class ไม่ต้องทำเป็น loop อาศัยอ้างอิง ข้อมูล ใน tag ที่แตกต่างกัน

1 เปลี่ยน algorithm ในการเขียนใหม่ ทำโค๊ดให้สั้นลง ถ้าเป็นไปได้ ส่งให้ไปทำงาน ที่ฝั่ง client ใช้ javascript ให้มากที่สุด ลดโหลด server
2 ลดการใช้ id ที่ซ้ำซ้อนลง id ควรจะเป็นแบบเฉพาะเจาะจง พยายามใช้ class ในการทำงาน ที่มี pattern เดียวกัน
3 ตั้งชื่อสั้นๆ แล้วสื่อความหมายได้ ให้ตั้งชื่อสั้นๆ เช่น booking เขียนแค่ bk_ ก็น่าจะเข้าใจ
เพราะยิ่งชื่อยาวจำนวนในการส่งข้อมูลผ่านเนตก็มากขึ้น
4 ตัวแปร global ประยุกต์ใช้งานให้ทันสมัยมากขึ้น ปลอดภัยมากขึ้น
5 javascript บางคำสั่ง ใช้ pure javascript บ้างก็ได้ ไม่ต้องผ่าน jquery ก็ได้สั่งงานตรงเลย

Code (PHP)
01.<?php
02.if (isset($_SESSION['user_id'])) {
03.    $free = $row['booking'] == "ว่าง";
04.?>
05.    <td class="center<?=($free ? ' col_checking' : '')?>" >
06.        <input class="messageCheckbox" id="booking<?=$row["time_id"]?>" <?=($free ? '' : 'disabled')?>
07.                type="checkbox" name="booking<?=$row["time_id"]?>" value="<?=$row["time_id"]?>"></td>
08.<?php
09.}
10. 
11.?>
12.<script>
13.// ส่วนของ javascript
14.$('.messageCheckbox').click(function(){
15.    var priceID = this.value;
16.//  var priceold = parseInt($('#showprice').html()); // ตรงนี้เป็น id แน่ใจ่วามีอันเดียวหรือเปล่า
17.    var priceold = $(this).parents('tr').eq(0).find('#showprice').html(); // เปลี่ยนมาใช้แบบนี้ กับการใช้ id ที่ซ้ำซ้อนกัน
18.    fieldNum += this.checked ? 1 : -1;  // ตรงนี้ คือการตรวจสอบ ปุ่มเช็ค เขียนใน event click
19.    $('#fieldNum').html(fieldNum);  //# = ID, . = Class ตรงนี้ก็ด้วยเรื่อง  ID ซ้ำไหม ลองเขียนแบบตัวอย่าง priceold
20.    $.get('checkprice.php?price='+priceID, function(data){
21.        // alert(data);
22.        var pricenew= priceold + parseInt(data);
23.        $('#showprice').html(pricenew); // นี่ก็ด้วย อ้างอิง id มีปัญหาแน่นอน
24.    });
25.});


ปล. ดูเรื่องการใช้ ID ให้ดีครับ ถ้าใช้ id ในการอ้างอิงต้องคำนึงไว้ว่า ในข้อมูลหนึ่งๆ ถ้ามี id หลายอัน จะอ้างอิง id แรกเท่านั้น


ประวัติการแก้ไข
2018-10-08 23:53:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 23:50:21 By : Chaidhanan
 

 

No. 11



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



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

ตรง priceold ราคาไม่ขึ้นอ่ะค่ะ อยากให้พอคลิก checkbox แล้วบวกราคาไปตาม checkbox ที่คลิก พอ uncheck ก็ลบค่าอ่ะค่ะ ต้องเขียนยังไงหรอค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-09 02:15:37 By : 1851112778284115
 

 

No. 12



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


ตัวอย่างก็ บันทัด 17 ไงครับ คอมเม้นท์ ก็บอกแล้ว ต้องประยุกต์ ให้ตรงกับข้อมูลที่ทำไว้ครับ
ผมเดาเอาว่า ข้อมูลของคุณเป็นแบบนี้ เดานะเดา
Code (PHP)
1.<tr>
2.  <td>description</td>
3.  <td id="showprice">123456</td>
4.  <.td><input type="checkbox" ></td>
5.</td>


จากตัวอย่าง บันทัด 17
Code (JavaScript)
1.var priceold = $(this).parents('tr').eq(0).find('#showprice').html(); // เปลี่ยนมาใช้แบบนี้ กับการใช้ id ที่ซ้ำซ้อนกัน


$(this).parents('tr').eq(0) คำสั่งนี้ ใช้ค้นหาว่า tr ที่ครอบข้อมูลคือตัวไหน
.find('#showprice').html() แล้วค้นหาว่า td ที่เก็บข้อมูล showprice เก็บอะไรไว้

ส่วนการอ้างอิง สำหรับใน function ajax success คุณต้อง กำหนดตัวแปร ไว้อ้างอิง tr ก่อนที่จะใช้ ajax
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-09 06:36:00 By : Chaidhanan
 

 

No. 13



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



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


หวังว่าจะทำงานได้นะครับ
Code (JavaScript)
01.$('.checkboxClass').on('click', function(){
02.    var price = 0;
03.    $.each($('.checkboxClass'), function(){
04.        if($(this).is(':checked')){
05.            price = parseFloat(price) + parseFloat($(this).val());
06.        }
07.    });
08.    $('#showprice').html(price);
09.});

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-09 10:00:35 By : Jatmentz
 

 

No. 14



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



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

ทำได้แล้วนะคะ ขอบคุณมากๆเลยค่ะ สำหรับความรู้และคำแนะนำทุกๆอย่าง น้ำตาจะไหลกว่าจะได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-11 21:34:42 By : 1851112778284115
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถ้าต้องการเขียน check ว่า ปุ่ม checkbox นี้ check หรือ uncheck ต้องเขียนเงื่อนไขยังไงหรอคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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