การค้นหาข้อความใน listbox

ตัวอย่างการค้นหาข้อความภายใน listbox เป็นฟังก์ชั่นค้นหาข้อความที่แสดงใน listbox คืนค่าเป็น value ของ option ตัวที่มีข้อมูลตรงกนทุกตัวอักษร (อาจไม่ตรงกันกับที่ค้นหาก็ได้ ในตัวอย่างค่าที่ value และ innerHTML ของ option ไม่ตรงกันอยู่แล้ว) และทำการเลือกรายการที่ตรงกันโดยอัตโนมัติ หากไม่พบคืนค่า false

<select id="sel">
<option value="1">ทดสอบ 1</option>
<option value="2">ทดสอบ 2</option>
<option value="3">ทดสอบ 3</option>
</select>

<script type="text/javascript">
     function find( select, value ) {
          var sel = document.getElementById( select );
          var opts = sel.options;
          for( var i = 0 ; i < opts.length ; i++ ) {
               if (opts[i].innerHTML == value) {
                    sel.selectedIndex = i; // เลือกรายการที่ ตรงกับข้อความค้นหา
                    return sel.value; // คืนค่า value ของ option
               };
          };
          return false; // คืนค่า false เมื่อไม่พบ
     };
     alert(find('sel', 'ทดสอบ 2'));
</script>
ผู้เขียน goragod โพสต์เมื่อ 11 มี.ค. 2552 เปิดดู 7,044 ป้ายกำกับ Javascript
^