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

HOME > PHP > PHP Forum > การคำนวน กับ การเปรียบเทียบ โดยการใช้ jQuery อีกสักรอบครับ กำลังศึกษา+หัวหน้าให้เปลี่ยนรายละเอียดงาน



 

การคำนวน กับ การเปรียบเทียบ โดยการใช้ jQuery อีกสักรอบครับ กำลังศึกษา+หัวหน้าให้เปลี่ยนรายละเอียดงาน

 



Topic : 106111



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

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

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




cal

จากภาพนะครับ
1. ผมอยากให้เวลาเลือกค่าจาก Select หมายเลข 2 แล้วนำไปเปรียบเทียบกับ ค่าในหมายเลข 1
2. จากข้อ 1 เมื่อทำการค่าใน Select แต่ละช่องแล้ว ให้นำค่าที่ได้ไปโชว์ในช่อง หมายเลข 3

มีเงื่อนไขว่า ถ้า Select ค่าในหมายเลข 2 เลือกค่า Value เป็น 3 แล้ว(ใน Select Option มีค่าเท่ากับ 1-4)
ให้นำมาเทียบว่า Textbox หมายเลข 1 กับ ค่า Value ของ Select Value หมายเลข 2 นั้น
มากกว่าหรือเท่ากับหรือน้อยกว่าค่า Textbox หมายเลข 1
แล้ว Count จำนวนที่เปรียบเทียบได้ นำค่าที่ได้มาไว้ใน Textbox หมายเลข 4
แล้วนำค่าจาก Textbox หมายเลข 3 มาคุณกันกับ เลข 3,2,1 ซึ่งกำหนดเป็น Textbox ชื่อ cal_value
แล้วนำค่าที่ได้มาไว้ใน Textbox หมายเลข 4 แล้วหาผลรวมของ Textbox 4

ลองให้แนวคิดเกี่ยวกับ Jquery การเปรียบเทียบของค่า 2 ค่า
แล้วนำมา นับจำนวน แล้วเก็บไว้ในตัวแปรให้เป็นแนวทางหน่อยครับ
เช่น มากว่าและเท่ากับ 3 เราเลือกกี่แถว
น้อยกว่า 2 เราเลือกกี่แถว

อาจจะงงๆ ไปนิด เอาง่ายๆ คือการเปรียบเทียบแล้วนำจำนวนค่าที่เปรียบเทียบที่ได้มา เก็บไว้ใช้

จะอธิบายยังไงดีหนอ อิอิ



Tag : PHP, Ms SQL Server 2008, JavaScript, jQuery









ประวัติการแก้ไข
2014-02-21 17:10:47
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-21 17:09:42 By : compiak View : 2752 Reply : 10
 

 

No. 1



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

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

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


กระดืบๆ
cal2
ถามใหม่ๆ เราจะมีวิธีการนับยังไงโดยใช้ Jquery
นับจำนวนว่า มากกว่าหรือเท่ากับ 3 มีกี่แถว
มากกว่าเท่ากับ 2 และน้อยกว่า 3 มีกี่แถว
มากกว่าเท่ากับ 1 และน้อยกว่า 2 มีกี่แถว
น้อยกว่า 1 มีกี่แถว

อยากได้แนวคิด หลังจากนั้นผมจัดการเองครับ อิอิ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 11:03:27 By : compiak
 


 

No. 2



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

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

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


Code
<input type="text" class="number" value="3" /><br /> <input type="text" class="number" value="3" /><br /> <input type="text" class="number" value="3" /><br /> <input type="text" class="number" value="1" /><br /> <input type="text" class="number" value="2" /><br /> var arrcount = []; $(".number").each(function(){ arrcount[$(this).val()] += 1; });


นำตัวแปร arrcount
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 11:47:25 By : sakuraei
 

 

No. 3



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

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

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


อธิบายอีกเถอะ ครับ คุณพี่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 12:20:07 By : compiak
 


 

No. 4



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

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

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


ลองเล่นดูก่อนครับ
<input type="text" class="number" value="3" /><br />
<input type="text" class="number" value="3" /><br />
<input type="text" class="number" value="3" /><br />
<input type="text" class="number" value="1" /><br />
<input type="text" class="number" value="2" /><br />

<script type="text/javascript">
var arrcount = []; // สร้างตัวแปรประเภทอาร์เรย์
$(".number").each(function(){
    if(isNaN(arrcount[$(this).val()])) arrcount[$(this).val()] = 0;
       arrcount[$(this).val()] = parseInt(arrcount[$(this).val()]) + 1;
        // ตัวอย่างข้อมูลที่เกิดขึ้น arrcount[3] = arrcount[3] + 1;        
});

$.each( arrcount, function( key, value ) {
      alert( key + " มีจำนวนเท่ากับ " + value );
});
</script>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 14:18:33 By : sakuraei
 


 

No. 5



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

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

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


Code (PHP)
<tr><td><input type="text" class="nb3" name="text" value="3" /></td><td><select style="width: 60px;" class="number" name="number" id="number" >
<option value='0'>เลือก</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
</select></td></tr>
<tr><td><input type="text" class="nb3" name="text" value="3" /></td><td><select style="width: 60px;" class="number" name="number" id="number" >
<option value='0'>เลือก</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
</select></td></tr></tr>
<tr><td><input type="text" class="nb3" name="text" value="3" /></td><td><select style="width: 60px;" class="number" name="number" id="number" >
<option value='0'>เลือก</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
</select></td></tr></tr>

<script type="text/javascript">
 $("select.number").change(function(){	//ผมอยากให้นับว่า class number มากกว่า class nb3 มีจำนวนเท่าไหร่ประมาณนี้ครับ
	var arrcount = []; // สร้างตัวแปรประเภทอาร์เรย์
$("select.number").each(function(){
    if(isNaN(arrcount[$(this).val()])) arrcount[$(this).val()] = 0;
       arrcount[$(this).val()] = parseInt(arrcount[$(this).val()]) + 1;
        // ตัวอย่างข้อมูลที่เกิดขึ้น arrcount[3] = arrcount[3] + 1;        
});

$.each( arrcount, function( key, value ) {
      alert( key + " มีจำนวนเท่ากับ " + value );
});
});
</script>
//ถ้าเป็นโค๊ด PHP ก็ประมาณนี้ครับ
<?php
n1=1;
s1=0;
s2=0;
s3=0;
s4=0;
if(number >= 3)
{
s1=s1+n1;
}else if(number < 3 && number >= 2){
s2=s2+n1;
}else if(number < 2 && number >= 1){
s3=s3+n1;
}else{
s4=s4+n1;
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 14:46:10 By : compiak
 


 

No. 6



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

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

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


สรุปว่าจะนับจาก input:text หรือ dropdown list ครับ

ขอโทษทีผมเพิ่งเห็น

//ผมอยากให้นับว่า class number มากกว่า class nb3 มีจำนวนเท่าไหร่ประมาณนี้ครับ


ประวัติการแก้ไข
2014-02-24 15:25:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 15:24:15 By : sakuraei
 


 

No. 7



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

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

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


พอเขียนให้ดูเป็นแนวทางเท่านั้นครับ
<table>
<tr><td><input type="text" class="nb3" name="text" value="3" /></td><td><select style="width: 60px;" class="number" name="number" id="number" >
<option value='0'>เลือก</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
</select></td></tr>
<tr><td><input type="text" class="nb3" name="text" value="3" /></td><td><select style="width: 60px;" class="number" name="number" id="number" >
<option value='0'>เลือก</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
</select></td></tr></tr>
<tr><td><input type="text" class="nb3" name="text" value="3" /></td><td><select style="width: 60px;" class="number" name="number" id="number" >
<option value='0'>เลือก</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
</select></td></tr>
</table>


<script type="text/javascript">
$("select.number").change(function(){	
    //ผมอยากให้นับว่า class number มากกว่า class nb3 มีจำนวนเท่าไหร่ประมาณนี้ครับ
	var arrcount = []; // สร้างตัวแปรประเภทอาร์เรย์
    var selectionCount = [];
    $("select.number").each(function(){
        if(isNaN(selectionCount[$("option:selected",this).val()])) 
            selectionCount[$("option:selected",this).val()] = 0;
        selectionCount[$("option:selected",this).val()] = parseInt(selectionCount[$("option:selected",this).val()]) + 1;
    });    
    $("input.nb3").each(function(){
        if(isNaN(arrcount[$(this).val()])) arrcount[$(this).val()] = 0;
           arrcount[$(this).val()] = parseInt(arrcount[$(this).val()]) + 1;
      
    });

    /*$.each( arrcount, function( key, value ) {
        alert( ".nb3["+key+ "] มีจำนวนเท่ากับ " + value + "\n .number["+key+"] มีจำนวนเท่ากับ "+ selectionCount[key]);
    }); */
    
    $.each( selectionCount, function( key, value ) {
        alert( ".number["+key+ "] มีจำนวนเท่ากับ " + value + "\n .nb3["+key+"] มีจำนวนเท่ากับ "+ arrcount[key]);
    });
});
</script>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 15:45:18 By : sakuraei
 


 

No. 8



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

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

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


เกือบใกล้ความจริงแล้วครับ
ถ้าเลือกค่า 4 จำนวน 2 ตัว มันก็จะนับค่าที่ มากกว่า 3 คือ 2 คะแนน
แล้วถ้าเลือก 3 มาอีก 1 ตัว ที่ถูกต้องคือ ค่าที่มากกว่า 3 คือ 3 คะแนน เพราะเราเลือกค่า 4 ไปก่อนแล้ว
แต่ปัญหาคือ เมือเราเลือก 3 ค่ากลับนับเหมือนเริ่มต้นใหม่ คือ ค่ามากกว่าหรือเท่ากับ 3 มีเพียง 1 คะแนน
ซึ่งที่ถูกต้องจะต้องได้ คือ 3 คะแนน
ผมต้องเอาค่าเดิมกับ 4 จำนวน 2 คะแนน กับ 3 จำนวน 1 คะแนน มารวมกัน คะแนนที่ได้จะต้องเป็น 3 คะแนน
มันยังไง ผมมาถูกทางหรือยัง
Code (PHP)
 $("select.number").change(function(){	
    //ผมอยากให้นับว่า class number มากกว่า class nb3 มีจำนวนเท่าไหร่ประมาณนี้ครับ
	var arrcount = []; // สร้างตัวแปรประเภทอาร์เรย์
    var selectionCount = [];
    $("select.number").each(function(){
        if(isNaN(selectionCount[$("option:selected",this).val()])) 
            selectionCount[$("option:selected",this).val()] = 0;
        selectionCount[$("option:selected",this).val()] = parseInt(selectionCount[$("option:selected",this).val()]) + 1;
    });    
    $("input.nb3").each(function(){
        if(isNaN(arrcount[$(this).val()])) arrcount[$(this).val()] = 0;
           arrcount[$(this).val()] = parseInt(arrcount[$(this).val()]) + 1;
      
    });

    /*$.each( arrcount, function( key, value ) {
        alert( ".nb3["+key+ "] มีจำนวนเท่ากับ " + value + "\n .number["+key+"] มีจำนวนเท่ากับ "+ selectionCount[key]);
    }); */
    
    $.each( selectionCount, function( key, value ) {
      //  alert( ".number["+key+ "] มีจำนวนเท่ากับ " + value + "\n .nb3["+key+"] มีจำนวนเท่ากับ "+ arrcount[key]);
	   if(key >= 3)
	 {
	              	// ค่าของ key ที่เลือกซึ่งมากกว่า หรือเท่ากับ 3
		 $("input[name=3_value]").val(value);
	 }else if(key < 3 && key >= 2)
	 {
		         	// ค่าของ key ที่เลือกซึ่งมีค่า 2
		 $("input[name=2_value]").val(value);
	 }else if(key < 2 && key >= 1)
	 {
			           // ค่าของ key ที่เลือกซึ่งมีค่า 1
		$("input[name=1_value]").val(value);
	 }else if(key < 1){
		             // ค่าของ key ที่เลือกซึ่งมีค่า 0
		$("input[name=0_value]").val(value);
		 }
    });
});

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 16:15:11 By : compiak
 


 

No. 9



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ถ้ามีมากกว่า 4 ก็เพิ่มไปเรื่อยๆ หรือจะ for ไปเรื่อยก็ได้ แต่ไม่ต้องใช้ .each ก็ได้นะ

<table>
	<tr>
		<td>มากกว่าหรือเท่ากับ 3</td>
		<td><input type="text" name="q3" /></td>
		<td><input type="text" name="s3" value="3" /></td>
		<td><input type="text" name="r3" /></td>
	</tr>
	<tr>
		<td>มากกว่าเท่ากับ 2 และน้อยกว่า 3</td>
		<td><input type="text" name="q2" /></td>
		<td><input type="text" name="s2"  value="2" /></td>
		<td><input type="text" name="r2" /></td>
	</tr>
	<tr>
		<td>มากกว่าเท่ากับ 1 และน้อยกว่า 2</td>
		<td><input type="text" name="q1" /></td>
		<td><input type="text" name="s1" value="1"/></td>
		<td><input type="text" name="r1" /></td>
	</tr>
	<tr>
		<td>น้อยกว่า 1 มีกี่แถว</td>
		<td><input type="text" name="q0" /></td>
		<td><input type="text" name="s0"  value="0" /></td>
		<td><input type="text" name="r0" /></td>
	</tr>
</table>


Code (JavaScript)
<script type="text/javascript">
	function RefreshValue(){
		var xQ0 = $("select.number option:selected[value=0]").length;
		var xQ1 = $("select.number option:selected[value=1]").length;
		var xQ2 = $("select.number option:selected[value=2]").length;
		var xQ3 = $("select.number option:selected[value=3]").length;
		var xQ4 = $("select.number option:selected[value=4]").length;
		var xR0 = xQ0 * 0;
		var xR1 = xQ1 * 1;
		var xR2 = xQ2 * 2;
		var xR3 = xQ3 * 3;
		//var xR4 = xQ4 * 4;
		var xR4 = xQ4 * 3;
		
		$('[name=q0]').val(xQ0);
		$('[name=q1]').val(xQ1);
		$('[name=q2]').val(xQ2);
		$('[name=q3]').val(xQ3 + xQ4);
		//$('[name=q4]').val(xQ4);
		
		$('[name=r0]').val(xR0);
		$('[name=r1]').val(xR1);
		$('[name=r2]').val(xR2);
		$('[name=r3]').val(xR3 + xR4);
		//$('[name=r4]').val(xR4);
	}
	
	$("select.number").change(function(){	
		RefreshValue();
	});
</script>



ประวัติการแก้ไข
2014-02-24 23:26:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-24 23:25:31 By : {Cyberman}
 


 

No. 10



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

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

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


ตอบความคิดเห็นที่ : 9 เขียนโดย : {Cyberman} เมื่อวันที่ 2014-02-24 23:25:31
รายละเอียดของการตอบ ::
เยี่ยมมากครับพี่ซาน ไซเบอร์

ว่างๆ สอนหน่อย

หลักการก็ได้ อิอิ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-25 10:04:09 By : compiak
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การคำนวน กับ การเปรียบเทียบ โดยการใช้ jQuery อีกสักรอบครับ กำลังศึกษา+หัวหน้าให้เปลี่ยนรายละเอียดงาน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
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 อัตราราคา คลิกที่นี่