แสดงบทความที่มีป้ายกำกับ Javascript แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Javascript แสดงบทความทั้งหมด

วันศุกร์ที่ 10 กรกฎาคม พ.ศ. 2558

ทดสอบโปรแกรมด้วย debugger internet explorer ได้ง่ายขึ้น ด้วยการใช้ condition ของ debugger

เลือกไฟล์ javascript สำหรับ debug

กำหนด breakpoint condition

สร้าง condition ให้กับ breakpoint
ใน Condition เขียน statement ให้ทำก่อน คืนค่า true กับ false ได้ส่วนค่า true จะทำให้ breakpoint ทำงานหยุดโปรแกรมในจุดนี้ ถ้า false จะไม่หยุดโปรแกรม แต่ยังทำส่วน eventCode = '00023'

เทคนิคนี้มีประโยชน์เพื่อหยุดโปรแกรมไม่ให้ทำส่วนต่อไปและทดสอบค่าบางอย่าง เช่นใน conditon ตัวแปรสามารถกำหนดค่าให้เป็นค่าที่เราต้องการเพื่อให้โปรแกรมทำงานสำหรับการทดสอบ ส่วนประโยชน์ที่ผมเอาใช้งานเพื่อในงานจริงเพื่อต้องการไม่ให้ไปเรียก script ที่ยิงไปอัพเดทค่า database ฝั่ง server เพราะผมจะทำสอบข้อมูลให้แน่ใจก่อน ถ้าโปรแกรมถูกต้องแน่นอนแล้ว ค่อยปล่อย request ไปอัพเดทค่า database ที่ฝั่ง server

วันเสาร์ที่ 10 พฤษภาคม พ.ศ. 2557

jQuery ตัวอย่างดึงชุดข้อมูล จากสอง fieldset โดยสร้าง function ดึงข้อมูลโดยให้ jQuery ค้นหาจาก id โดยไม่สนใจตัวอักษรเล็กใหญ่ของ id ในแต่ละ field

วิธีใช้ jQuery ดึงข้อมูลโดยไม่สนใจ id ว่าตัวอักษรเป็นตัวใหญ่หรือตัวเล็กของภาษาอังกฤษ

       ตัวอย่างต่อไปนี้ ผมจะทำการสาธิตการสร้าง function ของ javascript สำหรับเป็น function ในการดึงข้อมูลจาก fieldset ซึ่ง function นี้จะทำการ return ค่า Object ที่เก็บข้อมูล "ที่อยู่" ซึ่งผู้ใช้ function นี้จะสามารถนำข้อมูลที่อยู่ไปจัดการข้อมูลได้ง่ายขึ้น


 ในตัวอย่าง ผมสร้าง 2 fieldset สำหรับกรอกข้อมูลที่อยู่ มีสองรูปแบบ คือ ประเภทที่อยู่อาศัย กับ ประเภทที่อยู่ทางการ เพราะสิ่งที่เราต้องการคือ จะดึงข้อมูลต่างๆเหล่านี้ใน textbox ทั้งหมดไปเก็บใน Object แล้ว return ค่าออกจาก function ขั้นตอนแรกจึงจำเป็นจะต้องสร้าง function มาจัดการข้อมูลให้เป็นระเบียบแล้วเก็บใส่ Object ให้เรียบร้อย สำหรับตัวอย่างเขียน fieldset มีดังนี้ ก๊อบไปแปะแล้วลองทำตามได้เลย

<fieldset id='residentAddressFieldset'>
    <legend>ที่อยู่อาศัย</legend>
    อาคาร <input type='text' id='residentAddressName'/>
    เลขที่<input type='text' id='residentAddressNo' />
    จังหวัด อำเภอ<input type='text' id='residentRegionAddress'/>
    เบอร์โทร<input type='text' id='residentPhone' />
</fieldset>
<fieldset id='addressFieldset'>
    <legend>ที่อยู่ทางการ</legend>
    อาคาร <input type='text' id='addressName'/>
    เลขที่<input type='text' id='addressNo' />
    จังหวัด อำเภอ<input type='text' id='regionAddress'/>
    เบอร์โทร<input type='text' id='phone' />
</fieldset>

/* ผมสร้าง function สำหรับจัดการข้อมูลต่างๆได้ดังนี้*/

function getAddressInfoFormField(selector){

/*ขั้นตอนแรกผมสร้าง Object ขึ้นมาหนึ่งตัวชื่อ addressInfo แล้วกำหนดค่าเริ่มต้นให้กับแต่ละ attribute ดังนี้*/

    var addressInfo = new Object();
    addressInfo.addressName = '';/*ค่าเริ่มต้นเป็นช่องว่าง*/
    addressInfo.addressNo = '';
    addressInfo.addressRegion = '';
    addressInfo.addressPhone = '';

/*เริ่มใช้ jQuery เพื่อกดหนดค่าให้กับ addressName จาก selector ที่ส่งมาจาก parameter เราตั้งใจจะให้เป็น wrapped set ของ fieldset อธิบายง่ายๆก็คือส่งตัว fieldset มาแล้วเราสามารถค้นหาตัวต่างๆภายใน fieldset นั้นได้หมดแล้วนำข้อมูลมาใช้งาน ดังนั้นให้มองว่า selector คือ fieldset ตัวหนึ่ง เราสามารถใช้คำสั่ง find ของ jQuery เพื่อค้นหาตัวต่างๆที่อยู่ภายใน แต่ในการค้นหาคราวนี้เราต้องการให้ค้นหาโดยไม่สนใจชื่อ id ที่เป็นตัวอักษรใหญ่เล็กของภาษาอังกฤษ เราจึงจำเป็นต้องใช้คำสั่ง filter มาช่วยกรอง แล้วกำหนดการกรองข้อมูลเอาเองโดยส่ง parameter ลงให้กับฟังก์ชั่น filter เป็น function กำหนดเงื่อนไขการกรอง*/


        /*ใช้ regular expression ของ javascript มาช่วย ตรง addressName แล้วใส่ ig เพื่อไม่ให้สนใจตัวอักษรใหญ่เล็ก จากนั้นให้ทำการ test กับ id ที่ส่งเข้ามาใน function filter ถ้า test ผ่านก็ให้ return ตัวๆนั้นออกไป*/

    addressInfo.addressName = selector.find("*").filter(function(){
        return (/addressName/ig).test(this.id);
    }).val(); 

/*ใช้ val() เพื่อดึงค่าข้อมูลในช่องๆที่ jQuery ดึงมาได้จาก filter*/
   
    addressInfo.addressNo = selector.find("*").filter(function(){
        return (/addressNo/ig).test(this.id);
    }).val();
      
    addressInfo.addressPostal = selector.find("*").filter(function(){
        return (/regionAddress/ig).test(this.id);
    }).val();
   
    addressInfo.addressPhone = selector.find("*").filter(function(){
        return (/phone/ig).test(this.id);
    }).val();

 /*สรุป ใช้ selector ที่เป็นตัวแทนของ fieldset จากนั้นใช้ find("*") โดย * นั้นหมายถึงให้ดึงข้อมูลทุกตัวภายใต้ fieldset จากนั้นใช้ filter กรองเอาข้อมูลที่ต้องการ แต่เรากำหนด filter ให้กรองข้อมูล id โดยกำหนดให้ไม่สนใจตัวอักษรใหญ่เล็กของภาษาอังกฤษ ด้วยวิธีกำหนด function ลงใน filter*/

/*return addressInfo ที่เป็น Object ที่เราดึงข้อมูลมาเก็บออกไป*/
    return addressInfo;
};

วิธีใช้งาน function ที่เราสร้างมานี้

       จาก Code fieldset ตัวอย่างของเรานี้ กับ function ที่เราสร้างสมมุติว่าผมต้องการชุดข้อมูลใน fieldset ที่มี id คือ residentAddressFieldset ผมเรียก function ดังนี้

 var addressInfo = getAddressInfoFormField($('#residentAddressFieldset'));

ใช้ jQuery ดึง wrapped set ที่เป็น fieldset ที่มี id เป็น residentAddressFieldset จากนั้นเอาไปเก็บในตัวแปร addressInfo 
ใน addressInfo นี้ถ้าต้องการ addressNo ก็ให้ใส่จุดแล้วใส่ชื่อ attribute ที่เราต้องการข้อมูลของมันได้เลย เช่น

addressInfo.addressNo;

จบตัวอย่าง สาธิตการสร้าง function javascript ผสม jQuery เพื่อดึงชุดข้อมูล ในตัวอย่างนี้ function มีประโยชน์มากสมควรสร้างขึ้นมา เพราะไม่ว่าเราจะมีชุดข้อมูลใน fieldset กี่อย่างๆที่เกี่ยวกับ 'ที่อยู่' เวลาทำงาน ให้เราเรียกใช้ function ตัวที่เราสร้างมาเพื่อที่จะดึงข้อมูลมาใช้ประโยชน์ได้ทันที แต่ในกรณีตัวอย่างนี้ที่ผมเอาไปใช้จริง ผมดึงข้อมูลชุดข้อมูล 'ที่อยู่' ออกมาแล้วนำมาเรียงที่อยู่ให้สวยงามแล้วแสดงออกทางหน้าจอให้ user ได้เห็นแบบสวยๆงามๆ

วันอาทิตย์ที่ 9 มีนาคม พ.ศ. 2557

เขียนโปรแกรมให้ถามก่อนปิดหน้าเว็บเพจอย่างไร

onunload (or onbeforeunload) cannot redirect the user to another page. This is for security reasons.
If you want to show a prompt before the user leaves the page, use onbeforeunload:
window.onbeforeunload = function(){
  return 'Are you sure you want to leave?';
};
Or with jQuery:
$(window).bind('beforeunload', function(){
  return 'Are you sure you want to leave?';
});
This will just ask the user if they want to leave the page or not, you cannot redirect them if they select to stay on the page. If they select to leave, the browser will go where they told it to go.
You can use onunload to do stuff before the page is unloaded, but you cannot redirect from there (Chrome 14+ blocks alerts inside onunload):
window.onunload = function() {
    alert('Bye.');
}
Or with jQuery:
$(window).unload(function(){
  alert('Bye.');
});

credit:
http://stackoverflow.com/questions/7080269/javascript-before-leaving-the-page

วันจันทร์ที่ 9 ธันวาคม พ.ศ. 2556

ซ่อน(Hide) ตาราง(Table) Column ที่เราต้องการโดยใช้ JQuery


ตัวอย่าง Table
        Code ตัวอย่างที่วาดตาราง

                                          <div id="memberTable" class="tableContainer"
                                                                                                style="width: 845px; overflow-x: scroll">
                                                                                                <table width="100%" cellspacing="1"
                                                                                                    cellpadding="0" border="0" class="table">
                                                                                                    <thead id="fixedHeader_subAccountTable"
                                                                                                        class="fixedHeader">
                                                                                                        <tr class="tableHeaderRow">
                                                                                                            <th class="tableIndexHeaderCell"><div style="width: 40px">ลำดับ</div></th>
                                                                                                              <th class="tableCheckHeaderCell">
                                                                                                                  <div style="width: 25px">
                                                                                                                  <input
                                                                                                                type="checkbox" value="true" id="checkAll"
                                                                                                                onclick="checkpcTypeTableAll(this, 'tablepcTypeTableCheck')"
                                                                                                                name="tablepcTypeTableCheckAll"
                                                                                                                tabindex="-1"></div>
                                                                                                            </th>
                                                                                                            <th class="tableViewHeaderCell"><div style="width: 25px">ดู</div></th>
                                                                                                            <th class="tableHeaderCell"><div style="width: 200px">ชื่อสมาชิก</div></th>
                                                                                                            <th class="tableHeaderCell"><div style="width: 80px">วันที่จ่ายค่าสมาชิก<br/>ครั้งสุดท้าย</div></th>
                                                                                                            <th class="tableHeaderCell"><div style="width: 80px">วันที่ขึ้นทะเบียน</div></th>
                                                                                                            <th class="tableHeaderCell"><div style="width: 150px">ประเภทสมาชิกเดิม</div></th>
                                                                                                            <th class="tableHeaderCell"><div style="width: 120px">ยอดเงินบริจาค</div></th>
                                                                                                            <th class="tableHeaderCell"><div style="width: 100px">ที่มา</div></th>
                                                                                                            <th class="tableHeaderCell"><div style="width: 200px">ชื่อผู้บริจาค</div></th>
                                                                                                        </tr>
                                                                                                    </thead>
                                                                                                    <input type="hidden" value="0"
                                                                                                        name="memberTable_ROWCOUNT">
                                                                                                    <tbody id="scrollContent_subAccountTable"
                                                                                                        class="scrollContent">
                                                                                                        <tr class="tableEmptyCell">
                                                                                                            <td class="tableCell" name="index">&nbsp;</td>
                                                                                                            <td class="tableCell" name="check" align="center">&nbsp;</td>
                                                                                                            <td class="tableCell" name="view">&nbsp;</td>
                                                                                                            <td class="tableCell" name="memberName">&nbsp;</td>
                                                                                                            <td class="tableCell" name="payDate">&nbsp;</td>
                                                                                                            <td class="tableCell" name="registerDate">&nbsp;</td>
                                                                                                            <td class="tableCell" name="memberTypeName">&nbsp;</td>
                                                                                                            <td class="tableCell" name="amount">&nbsp;</td>
                                                                                                            <td class="tableCell" name="memberSource">&nbsp;</td>
                                                                                                            <td class="tableCell" name="donatorName">&nbsp;</td>
                                                                                                        </tr>
                                                                                                    </tbody>
                                                                                                </table>
                                                                                            </div>


ในตัวอย่างนี้เราต้องการให้ปิด Column "ประเภทสมาชิกเดิม" แต่สังเกตว่า แท็ก th ที่เป็นหัวข้อของคอลัม ประเภทสมาชิกเดิมนั้น ไม่มี id ระบุเลยเราจึงไม่สามารถ hide โดยวิธีโดยตรงได้
แต่เราจะอ้างอิง index จาก td ที่เป็นส่วนตารางแสดงข้อมูลจาก id แทน
Example
/*หา index จากส่วนตารางแสดงข้อมูล*/
    var index = $j('#memberTable.tableContainer table tbody tr:first td').index($j("td[name=memberTypeName]"))+1;
/*ก่อนจะนำมาใช้งานต้องตรวจสอบก่อนว่าค่าที่หามาได้นั้นเจอรึเปล่า ป้องกันความผิดพลาดโปรแกรม*/
    if(index>0){

/*ทำการปิดส่วนหัวของคอลัมน์*/
        $j('#memberTable.tableContainer table thead tr th:nth-child('+index+')').hide();

/*ทำการปิดส่วนแสดงข้อมูลของคอลัมน์ตามไปด้วย*/
        $j('#memberTable.tableContainer table tbody tr').find($j("td[name=memberTypeName]")).hide();
    }


คำอธิบายเพิ่มเติม
nth-child() ไว้ใช้สำหรับหาลูกโหนดที่ n โดยเราหา index ก่อนว่าอยู่ในช่วงใด(คอลัมน์ที่เท่าไหร่)ของตารางแล้วเรานำช่วงคอลัมน์เดียวกันนั้นที่ตรงกันกับหัวคอลัมน์ทำการปิดการแสดงด้วย hide()

อีกวิธีหนึ่งที่เราสามารถอ้างอิงเพื่อปิดหัวคอลัมน์โดยตรงได้เลยโดยตรวจสอบจาก ข้อความ ที่แสดงอยู่บนหัวคอลัมน์ เนื่องจากเราต้องการปิดคอลัมน์ "ประเภทสมาชิกเดิม" ให้ใช้ JQuery map ค้นหาคอลัมน์นั้นให้อัตโนมัติ

Example

/*ใช้ JQuery ค้นหาหัวคอลัมน์นั้นออกมา innerText เป็น Attribute ที่แสดงค่า Text ใน Node นั้นๆ*/
var thead = $j("#memberTable.tableContainer table thead tr th").map(function(){
return $j.trim(this.innerText)=="ประเภทสมาชิกเดิม"?this:null;
});

/*ทำการ hide หัวคอลัมน์*/
thead.hide();

คำอธิบายเพิ่มเติม
 Jquery map นั้นเป็นการกรองข้อมูลแบบหนึ่่ง โดยทำการแมพข้อมูลตามที่เราต้องการออกมาทาง return  

วันอังคารที่ 23 กรกฎาคม พ.ศ. 2556

รู้จักวิธีใช้ val() ใน JQuery ให้คุ้ม


Method syntax : val

val()
คืนค่า attribute value ของ element ตัวแรกที่พบใน selector แต่ถ้ากรณี element เป็นรูปแบบ multi-select element จะคืนค่า value มาเป็น Array ใน Selection

Method ตัวนี้ค่อนข้างมีประโยชน์มาก ถ้าเราต้องการ value ของ wrapper หรือ element ตัวที่เราต้องการเช่น


<input id='specialtxt' type='text' size='50' value='50' />


เราต้องการ ค่า value ใน input type text นี้ ดึงโดย $('input:text#specialtxt').val() ค่าที่ได้ออกมา จะเท่ากับ 50


แต่ความพิเศษของ val ไม่ได้มีเพียงเท่านี้ยังสามารถใช้อย่างมีประสิทธิภาพกับ radio button อีกด้วย


val() กับ radio button


<input type='radio' name='radioGroup1' value='1' />radio1

<input type='radio' name='radioGroup1' value='2' checked='checked' />radio2
<input type='radio' name='radioGroup1' value='3' />radio3

จากโค้ดตัวอย่างเป็น กลุ่ม radio button แต่มีเพียง 1 ตัวเท่านั้นที่ถูก checked และ radio กลุ่มนี้เป็นกลุ่มเดียวกันดังนั้นในกลุ่มนี้จะสามารถ checked ได้แค่ตัวเดียวเท่านั้น

val สามารถช่วยเราดึงค่าใน radio ที่มีการถูก checked เท่านั้นออกมาได้

$("[name='radioGroup1']:checked").val()


ประโยคนี้จะทำให้คืนค่า value ของค่า radio ที่ถูก checked ไว้หรือเป็น undefined ถ้าไม่มีตัวไหนถูก checked การใช้ val นี้มีประโยชน์กว่าการที่เราจะต้องมา loop หา checked ของ element


val() กับ checkbox


แต่เพราะ val() จะสนใจเฉพาะ element ตัวแรกที่พบใน wrapper set เท่านั้น การทำแบบ radio button มาใช้ใน checkbox ไม่สามารถใช้ได้แน่นอน เพราะ checkbox สามารถถูก checked ได้หลายตัวในกลุ่ม แต่เราสามารถใช้ JQuery นี้แทนได้


var checkboxValues = $('[name="checkboxGroup"]:checked').map(

function(){return $(this).val();  }
).toArray();

ค่าที่เก็บใน checkboxValues นั้นจะได้เป็น Array ที่เก็บค่า value ของกลุ่ม checkbox ที่ถูก checked


การ set ค่า value ด้วย val()


val(value)
Parameter: String หรือ Function(ใน Function นี้มี parameter index กับ value)
Return : wrapped set


ตัวอย่าง การ set ค่าด้วย function


$('input:text.items').val(function( index, value ) {

  return value + ' ' + this.className;
});

การ set ค่า value ของ checkbox, select, radio


val(values)

เซ็ตค่าให้กับ checkboxs, radio button, หรือ option ของ <select> element โดยจะทำการ checked หรือ เลือก selected ถ้า value มีการ match ตรงกับ ค่าต่างที่ถูกส่งมาใน array
Parameter
values  เป็น Array ของ value ที่เราต้องการให้ elements ตัดสินใจว่าจะติ๊ก หรือเลือก
Return : wrapped set

ตัวอย่าง จาก script HTML ดังกล่าว มี checkbox 


<input type='checkbox' value='1' /> :1

<input type='checkbox' value='2' /> :2
<input type='checkbox' value='3' /> :3

<input type='checkbox' value='4' /> :4


กำหนดค่าให้ มีการ checked ให้กับ checkbox โดยใช้ val(values)

$(":checkbox").val(['1','3'])
$(":checkbox").val(['1','3'])

$(":checkbox").val(['1','3'])


โดย Mirror of Kagami


วันเสาร์ที่ 20 กรกฎาคม พ.ศ. 2556

หัดใช้ JQuery เริ่มต้น JQuery เริ่มยังไง (How to use JQuery thai language)



JQuery เป็น Library ของ Javascript เพิ่มความสะดวกสบายให้กับเราในการควบคุมหน้าเว็บ
วิธีติดตั้งเข้าไปที่ Path นี้

http://jquery.com/download/

เมื่อ Download มาแล้วจะได้ File มาตัวหนึง
การใช้งานถ้าต้องการให้หน้าเว็บไหนสามารถใช้งานได้ให้เพิ่ม Tag
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
ตรงส่วนของ
src เราต้องใส่ path ของ File ที่เรา Download มา
วิธีทดสอบการใช้งานง่ายๆ 
ลองเรียกใช้งานโดยใช้คำสั่ง ไว้ส่วนใดก็ได้ของหน้าเว็บเพจให้อยู่ใน
tag <head></head> หรือ <body></body>

$(document).ready(function(){
alert(1);
});

 จากนั้นลอง Run ด้วย Server ถ้าพบว่ามี Alert เลข 1 ขึ้นมาแสดงว่าใช้ได้แล้ว
การใช้งานเบื้องต้น
JQuery จะมีส่วนที่เรียกว่า Selector ซึ่งส่วนนี้จะติดกับสัญลักษณ์ $ แล้วความหมายของมันก็ตามชื่อเลย คือตัว Select
ลองสร้าง
Tag <input type='text' size='10'/> บนหน้าเว็บของคุณดูสิ จากนั้น
ลองทดสอบ JQuery 

 $(document),ready(function(){
 alert($("input:text").size());
});

ทดสอบ Run บน Browser ถ้าในหน้าเว็บเรามี input ที่เป็น text อยู่ตัวเดียวมันก็จะ Alert ขึ้นมา 1 ซึ่งหมายความว่ามัน Select 
พบ
Input ที่เป็นประเภท text พบ 1 ตัวในหน้าเว็บเรา
สิ่งที่ Select มาเป็นข้อมูลประเภทอะไร
JQuery เมื่อถูก Selector ดึงออกมาแล้วจะถูกเรียกเป็นข้อมูล ชนิด Wrapper (ถ้าเป็น Javascript จะเป็น Element) Wrapper
ถ้าพูดเอาตามคำแปลก็หมายถึงถูกห่ออยู่ เป็นอย่างที่คำแปลจริงๆ Wrapper คือ Element ของ Javascript ที่ทาง JQuery นำมาห่อบางสิ่งบางอย่าง
เพื่อให้การใช้งานที่ง่ายขึ้น เวลา
Select ออกมาได้หลายตัวเราเรียกว่า Wrapper set

Select แบบมีเงื่อนไข
ถ้าใน
Webpage เรามี

 <input id='text1' type='text' size='10'/> <input type='text' id='text2' size='10'/>

ถ้าเราจะเลือกเอา input ที่มีไอดี text1 ใน Jquery สิ่งที่แทนคำว่า id ให้ใช้ #
จริงๆใช้
id Select ได้เลือกเพราะในหน้า Web page นั้น id ห้ามมีซ้ำ แต่เพื่อเป็นการป้องกันไว้ก่อน ให้ใช้เงื่อนไขเยอะๆไว้

$('input:text#text1') หรือ $(':text#text1') หรือ $('#text1')
ทั้งสามแบบใช้ได้หมด แต่แนะนำแบบแรกมากกว่าเพราะปลอดภัย
Select แบบหลายเงื่อนไข
ถ้าใน
Webpage เรามี

 <input id='rad1' type='radio' value='1'/> Male<br>
<input type='radio' id='rad1' checked='checked' value='2'/> Famale<br>

สังเกตว่า ถ้าเป็น radio แล้ว id จะเหมือนกัน แล้วเราจะแยกแยะได้ยังไง คำตอบคือเราก็เพิ่มเงื่อนไข ถ้าเราต้องการตัวที่ checked

 $(":radio#rad1[checked='checked']")

ในวงเล็บสี่เหลี่ยมเป็นการเพิ่มเงื่อนไขของ properties ที่เราต้องการ สามารถเพิ่มเงื่อนไขได้หลายเงื่อนไขได้ไม่จำกัดเช่น

 $(":radio#rad1[checked='checked'][value='2']")

การ Select แบบลำดับความลึกของ Node

ถ้าใน Webpage เรามี

 <div class='require'><input type='text' size='10'/></div>
 <div class='require'><input type='text' size='10'/></div>
 <div id='2'><input type='text'></div> 

เราต้องการ input type text ที่มีอยู่แต่ใน div ที่ class เป็น require เท่านั้นสามารถทำได้ดังนี้

$("div.require input:text") 

เลือกสิ่งที่อยู่ใน div.require (JQuery ใช้ จุด แทนคำว่า Class,ใช้ # แทนคำว่า id)ที่เป็น input ประเภท text การ Select แบบนี้ ไม่ว่า input:text จะอยู่ลึกแค่ไหน  

 ก็จะถูกดึงออกมาควรระวังถ้าต้องให้เลือกเฉพาะ input ที่ต่อจาก tag Div โดยตรงให้ลองใช้

$("div.require>input:text")

 การ Selector แบบหลาย Selector รวมกันในครั้งเดียว
ถ้าใน
Webpage เราประกอบด้วยพวกนี้

 <div class='require' id='humanFate'><input type='text' id='text1' size='10'/></div>
<div class='require'><input type='text' id='text2' size='10'/></div>
 <div id='2'><input type='text'></div> 
 <div id='NTDSYSTEM'></div>  

ถ้าเราต้องการปิด โค้ดบรรทัดที่ 1 กับบรรทัดที่ 4 ไม่ให้ผู้ใช้มองเห็นสามารถ Select แบบรวม Selector ได้ดังนี้
จากปกติเราอาจต้องเขียนสองแบบ $("div.require#humanFate") กับ $("div#NTDSYSTEM") แต่ทั้งนี้เสียเวลาเรารวมกันได้โดย

$("div.require#humanFate,div#NTDSYSTEM")

ต้องการปิดไม่ให้ผู้ใช้เห็นใช้ hide()

$("div.require#humanFate,div#NTDSYSTEM").hide();

การ Selector แบบกำหนดแค่บางส่วนของชื่อ id 

<input type='button' id='btn1' value='ปุ่ม1'/>
<input type='button' id='btn1' value='ปุ่ม2'/>
<input type='button' id='activebtn' value='cancel'/>

ต้องการเลือก input ที่ id ขึ้นต้นด้วย btn (การที่กำหนดว่าขึ้นต้นใช้สัญลักษณ์ ^)

$("input:button[id^='btn']")

ต้องการเลือก input ที่ id มีบางส่วนเป็นคำว่า btn (การที่กำหนดว่าบางส่วนใช้สัญลักษณ์ *)

$("input:button[id*='btn']")

ต้องการเลือก input ที่ id มีลงท้ายเป็นคำว่า btn (การที่กำหนดว่าบางส่วนใช้สัญลักษณ์ $)

$("input:button[id$='btn']")

ทั้งหมดที่กล่าวมานี้เป็นแค่บางส่วนของ Selector ของ JQuery จริงๆมีเยอะมากจนอธิบายเป็นหนังสือเล่มๆได้เลย
 อ่านพื้นฐานเพิ่มเติมได้ที่ www.w3school.com เป็นเว็บที่แนะนำสำหรับพื้นฐาน ส่วน Advance ขึ้นไปแนะนำให้หาโหลด pdf
ที่เป็น textbook มาอ่านจะดีกว่า หรือสามารถติดตามใน blog ได้ตลอดเวลา

โดย Mirror of Kagami