  | 
              
	              
	                
  
    
	 
        ถ้าต้องการเขียน check ว่า ปุ่ม checkbox นี้ check หรือ uncheck ต้องเขียนเงื่อนไขยังไงหรอคะ     | 
   
  
    |   | 
   
 
 
 
              
  
          
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 Code (JavaScript) 
if( $('checkbox').prop('checked') ){
   //is checked
}else{
   //none checked
}
                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-07 21:53:56 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ไม่ได้อ่ะค่ะ ตรงส่วน else หนูผิดตรงไหนรึเปล่าคะ  
 
Code (JavaScript) 
if ($('messageCheckbox').prop('checked')){
             		   $('.messageCheckbox').click(function(){
                       var priceID=$(this).val();
                       var priceold=parseInt($('#showprice').html());
                       fieldNum++;	
                        $('#fieldNum').html(fieldNum);	//# = ID, . = Class
						$.get('checkprice.php?price='+priceID, function(data){
                       // alert(data);
                       var pricenew= priceold + parseInt(data);
                       $('#showprice').html(pricenew);
                        });
			}else{
             		   $('.messageCheckbox').click(function(){
                       var priceID=$(this).val();
                       var priceold=parseInt($('#showprice').html());
                       fieldNum--;	
                        $('#fieldNum').html(fieldNum);	//# = ID, . = Class
						$.get('checkprice.php?price='+priceID, function(data){
                       // alert(data);
                       var pricenew= priceold - parseInt(data);
                       $('#showprice').html(pricenew);
                        });
            }
                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2018-10-07 22:49:37              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-07 22:45:11 | 
                        By :
                            1851112778284115 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 เป็น class ต้องใส่จุด  
เป็น id ต้องต้องใส่ # 
เป็น tag ต้องใส่ชื่อ tag                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-07 23:15:06 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 เป็น Class ค่ะ ใส่ .messageCheckbox แล้วก็ไม่ได้ค่ะ                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2018-10-07 23:26:12              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-07 23:25:41 | 
                        By :
                            1851112778284115 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ลองทดสอบ แค่ if else ก่อน 
if ($('.messageCheckbox').prop('checked')){ 
   alert(' is checked'); 
}else{ 
   alert(' no chedked'); 
} 
 
คิดว่า if else คงไม่มีปัญหา น่าจะมีปัญหา การกำหนด function นั้นแหล่ะมั้ง 
วงเล็บล่างมันไม่ครบ และ ใช้ เป็นฟังก์ชั่นเดียวแล้วเอา if else เข้าไปเช็คข้างใน เพื่อกำหนดการทำงาน ดีกว่าไหม 
เขียนแบบนั้นมันซ้ำซ้อนไปหรือเปล่า 
 
Code (JavaScript) 
var sign = $('.messageCheckbox').prop('checked') ? 1 : -1 
$(".messageCheckbox').click((e)=>{
   //......
   //.....
   //.....
    fieldNum += sign;  //ถ้า sign มีค่าเป็น - ก็จะทหน้าที่ เหมือน fieldNum--; ถ้าเป็นบวกก็เหมือน fieldNum++
    //.... 
    //....
});
                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-08 00:01:50 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 if else มันทำงานแค่ตรง else อ่ะค่ะ                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-08 00:53:56 | 
                        By :
                            1851112778284115 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 งั้นขอดู html ที่เป็น checkbox หน่อยครับ เขียนอะไรผิดหรือเปล่า อาจจะอ้างอิง อะไรผิด                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-08 10:58:42 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 checkbox เป็นการวนลูปค่ะ  
 
 
Code (PHP) 
if ($_SESSION['user_id']) {
            if ($row['booking'] == "ว่าง") {
                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>';
            } else {
                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 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 พอใส่แบบนี้แล้วค่ามันแสดงติดลบตั้งแต่ค่าแรกเลยอ่ะค่ะ  
 
Code (PHP) 
if ($('.messageCheckbox').prop('checked')){
                      $('.messageCheckbox').click(function(){
                       var priceID=$(this).val();
                       var priceold=parseInt($('#showprice').html());
                       fieldNum++;	
                        $('#fieldNum').html(fieldNum);	//# = ID, . = ตัวแปล
						$.get('checkprice.php?price='+priceID, function(data){
                       // alert(data);
                       var pricenew= priceold + parseInt(data);
                       $('#showprice').html(pricenew);
                        });
					});
                    }else{
                     $('.messageCheckbox').click(function(){
                       var priceID=$(this).val();
                       var priceold=parseInt($('#showprice').html());
                       fieldNum--;	
                        $('#fieldNum').html(fieldNum);	//# = ID, . = ตัวแปล
						$.get('checkprice.php?price='+priceID, function(data){
                       // alert(data);
                       var pricenew= priceold - parseInt(data);
                       $('#showprice').html(pricenew);
                        });
                     });
                     }
                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-08 23:12:29 | 
                        By :
                            1851112778284115 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 และคำสั่ง คห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) 
<?php
if (isset($_SESSION['user_id'])) {
	$free = $row['booking'] == "ว่าง";
?>
	<td class="center<?=($free ? ' col_checking' : '')?>" >
		<input class="messageCheckbox" id="booking<?=$row["time_id"]?>" <?=($free ? '' : 'disabled')?>
				type="checkbox" name="booking<?=$row["time_id"]?>" value="<?=$row["time_id"]?>"></td>
<?php
}
?>
<script>
// ส่วนของ javascript
$('.messageCheckbox').click(function(){
	var priceID = this.value;
//	var priceold = parseInt($('#showprice').html()); // ตรงนี้เป็น id แน่ใจ่วามีอันเดียวหรือเปล่า
	var priceold = $(this).parents('tr').eq(0).find('#showprice').html(); // เปลี่ยนมาใช้แบบนี้ กับการใช้ id ที่ซ้ำซ้อนกัน
	fieldNum += this.checked ? 1 : -1;	// ตรงนี้ คือการตรวจสอบ ปุ่มเช็ค เขียนใน event click
	$('#fieldNum').html(fieldNum);	//# = ID, . = Class ตรงนี้ก็ด้วยเรื่อง  ID ซ้ำไหม ลองเขียนแบบตัวอย่าง priceold
	$.get('checkprice.php?price='+priceID, function(data){
		// alert(data);
		var pricenew= priceold + parseInt(data);
		$('#showprice').html(pricenew); // นี่ก็ด้วย อ้างอิง id มีปัญหาแน่นอน
	});
});
 
 
ปล. ดูเรื่องการใช้ ID ให้ดีครับ ถ้าใช้ id ในการอ้างอิงต้องคำนึงไว้ว่า ในข้อมูลหนึ่งๆ ถ้ามี id หลายอัน จะอ้างอิง id แรกเท่านั้น                        
               
               | 
             
            
              
			                
  ประวัติการแก้ไข 2018-10-08 23:53:00              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-08 23:50:21 | 
                        By :
                            Chaidhanan | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ตรง priceold ราคาไม่ขึ้นอ่ะค่ะ อยากให้พอคลิก checkbox แล้วบวกราคาไปตาม checkbox ที่คลิก พอ uncheck ก็ลบค่าอ่ะค่ะ ต้องเขียนยังไงหรอค่ะ                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-09 02:15:37 | 
                        By :
                            1851112778284115 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ตัวอย่างก็ บันทัด 17 ไงครับ คอมเม้นท์ ก็บอกแล้ว ต้องประยุกต์ ให้ตรงกับข้อมูลที่ทำไว้ครับ 
ผมเดาเอาว่า ข้อมูลของคุณเป็นแบบนี้ เดานะเดา 
Code (PHP) 
<tr>
  <td>description</td>
  <td id="showprice">123456</td>
  <.td><input type="checkbox" ></td>
</td>
  
 
จากตัวอย่าง บันทัด 17 
Code (JavaScript) 
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 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 หวังว่าจะทำงานได้นะครับ 
Code (JavaScript) 
$('.checkboxClass').on('click', function(){
    var price = 0;
    $.each($('.checkboxClass'), function(){
        if($(this).is(':checked')){
            price = parseFloat(price) + parseFloat($(this).val());
        }
    });
    $('#showprice').html(price);
});
                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-09 10:00:35 | 
                        By :
                            Jatmentz | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
               
		
     
		
	  
        
             | 
            | 
            | 
             | 
         
        
             | 
                       | 
          
            
               
                 ทำได้แล้วนะคะ ขอบคุณมากๆเลยค่ะ สำหรับความรู้และคำแนะนำทุกๆอย่าง น้ำตาจะไหลกว่าจะได้                           
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-10-11 21:34:42 | 
                        By :
                            1851112778284115 | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             | 
         
        
             | 
            | 
             | 
             | 
         
          
	    
     
      		  
	
     | 
   
 
                 |