ฉันจะตรวจสอบได้อย่างไรว่ามีกี่ตัวเลือกในเมนูแบบเลื่อนลง?


110

ฉันจะตรวจสอบได้อย่างไรโดยใช้ jQuery มีกี่ตัวเลือกในเมนูแบบเลื่อนลง

ขอบคุณ.

คำตอบ:


201
var length = $('#mySelectList').children('option').length;

หรือ

var length = $('#mySelectList > option').length;

นี้จะถือว่าคุณรายการมีรหัสของ<select>mySelectList


.children('option').length;เป็นวิธีเดียวที่ฉันจะได้รับจำนวนตัวเลือกจริง / select.length หลังจากที่ฉันเติมข้อมูลรายการที่เลือกแบบไดนามิกผ่าน ajax ใน .done ({}); โดยใช้. append () ทางที่จะไป!
yardpenalty.com

สำหรับความยาวของตัวเลือกที่เลือกคือ "$ (". search-select option: selected "). length" ที่ถูกต้อง
Youssef Boudaya


8

ใช้คุณสมบัติ lengthหรือวิธีการขนาดเพื่อค้นหาจำนวนรายการในคอลเลกชัน jQuery ใช้ตัวเลือกลูกหลานเพื่อเลือกทั้งหมด<option>ภายใน a <select>.

HTML:

<select id="myDropDown">
<option>1</option>
<option>2</option>
.
.
.
</select>

JQuery:

var numberOfOptions = $('select#myDropDown option').length

และหมายเหตุสั้น ๆ บ่อยครั้งที่คุณจะต้องทำบางสิ่งใน jquery สำหรับสิ่งที่เฉพาะเจาะจงมาก ๆ แต่ก่อนอื่นคุณต้องดูว่าสิ่งที่เฉพาะเจาะจงนั้นมีอยู่จริงหรือไม่ คุณสมบัติความยาวเป็นเครื่องมือที่สมบูรณ์แบบ ตัวอย่าง:

   if($('#myDropDown option').length > 0{
      //do your stuff..
    } 

สิ่งนี้จะแปลเป็น "ถ้ารายการที่มี ID = myDropDown มีตัวเลือก" ที่สืบทอดมา "ให้ไปทำสิ่งที่คุณต้องทำ







3
$('select option').length;

หรือ

$("select option").size()

.size()มีประโยชน์หากคุณต้องการโซ่
adardesign

.size () ส่งคืนและจำนวนเต็มดังนั้นจึงไม่สามารถใช้ chain ได้ คุณสามารถเชื่อมโยงวิธีการที่ส่งคืนวัตถุ jQuery เท่านั้น
Russ Bradberry

0

ด้วยจาวาสคริปต์แท้คุณสามารถเรียกความยาวบน id ของกล่องเลือกได้ มันจะเร็วมากขึ้น โดยทั่วไปแล้วจาวาสคริปต์ดั้งเดิมทุกอย่างจะทำงานได้ดีขึ้นและดีขึ้นเมื่อใช้เบราว์เซอร์สมัยใหม่

สิ่งนี้สามารถทำได้ในจาวาสคริปต์โดย

     var dropdownFilterSite = document.querySelector( '#dropDownId' );  //Similar to jQuery

var length = dropdownFilterSite.length.

เว็บไซต์ที่ดีสำหรับการเรียนรู้

www.youmightnotneedjquery.com

วิดีโอที่ดีสำหรับดูโดย Todd Motto

https://www.youtube.com/watch?v=pLISnANteJY

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.