แก้ปัญหาความกว้าง option ของ select tag ใน ie ด้วย jQuery และ css อย่างง่าย
27 November 2009ความกว้างของ option ใน ie กรณีเรากำหนดค่าความกว้าง ให้กับ tag select เช่น
<select name="myselect" id="myselect" style="width:150px;">
และข้อความในรายการ option มีขนาดกว้างกว่า ค่าที่กำหนด จะทำให้ข้อความในรายการ option
แสดงไม่หมด ซึ่งต่างจาก browser ตัวอื่นๆ ที่ปัญหานี้จะไม่เกิดขึ้น
กรณีปัญหา เมื่อเปิดผ่าน IE

กรณีบราวเซอร์อื่น

แก้ปัญหาโดยวิธีการต่อไปนี้
CSS code
<style type="text/css">
div.hideSelect{
position:relative;
width:150px; /* กำหนดค่าให้เท่ากับความกว้างเริ่มต้นที่ต้องการ */
height:22px;
overflow:hidden;
}
div.hideSelect select{
position:absolute;
float:left;
}
</style>
HTML code
<div class="hideSelect"> <select name="myselect" id="myselect" style="width:150px;" > <option value="ใช้ PHP สร้าง Javascript อย่างง่าย ">ใช้ PHP สร้าง Javascript อย่างง่าย </option> <option value="PHP MySQL connecting script and function ">PHP MySQL connecting script and function </option> <option value="ตรวจสอบสถานะของ MySQL ด้วย phpinfo ">ตรวจสอบสถานะของ MySQL ด้วย phpinfo </option> <option value="การสร้างวันเวลาปัจจุบัน ด้วยฟังก์ชัน date() ">การสร้างวันเวลาปัจจุบัน ด้วยฟังก์ชัน date() </option> </select> </div>
Javascript Code
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load("jquery", "1.3.2");
</script>
<script type="text/javascript">
$(function(){
var mybrowser=navigator.userAgent;
if(mybrowser.indexOf('MSIE')>0){
$("div.hideSelect select").hover(function(){
$(this).width("auto");
},function(event){
if(event.relatedTarget!=null){
$(this).width(150); // กำหนดค่าให้เท่ากับความกว้างเริ่มต้นที่ต้องการ
}
$("div.hideSelect select").bind("change blur",function(){
$(this).width(150); // กำหนดค่าให้เท่ากับความกว้างเริ่มต้นที่ต้องการ
});
});
}
});
</script>
ตัวอย่าง
หรือคลิกดูตัวอย่างต่อไปนี้ใน IE http://www.ninenik.com/demo/fix_select.php
บทความคนเข้าอ่านวันนี้
19 Nov 09 สร้าง scrollbar แนวตั้ง จากรูปภาพ ด้วยเทคนิค css sprite image และ jQuery อ่าน 3662 22 Mar 11 การกำหนด แท็ก html ในตัวแปร JavaScript อย่างง่าย อ่าน 1527 06 Jun 11 แนวทางการกำหนด expired header ให้กับรูปภาพ ด้วย php อย่างง่าย อ่าน 739 25 Sep 08 Event ของ jquery แบบ Basic อ่าน 3772 21 Apr 10 สร้างเส้นทาง เพื่อ หาระยะทาง ใน google map ด้วย jQuery อ่าน 7368 13 Oct 11 แนะนำการใช้งาน การเชื่อมต่อ facebook ด้วย php sdk v.3.1.1 อ่าน 672 28 Sep 10 สร้างคำสั่ง สำหรับปุ่มควบคุม กำหนดเอง ใน google map อ่าน 1507 22 Oct 08 คำสั่ง SQL HAVING อ่าน 5214 25 Sep 08 CSS แทรกโค๊ดในเว็บโดยมีหมายเลขบรรทัดกำกับ อ่าน 2743 25 Oct 08 สร้างฟังก์ชันการหา whois เบื้องต้นด้วย php อย่างง่าย อ่าน 1417 05 Nov 09 เช็ค บราวเซอร์ Browser ด้วย php อย่างง่าย อ่าน 2114 26 Feb 09 การกำหนดให้ input text เลื่อนโฟกัส focus เองอัตโนมัติ ด้วย jQuery อ่าน 5102 14 Feb 09 คำนวณหาอายุ จากวันเกิด ด้วย php อ่าน 4476 19 Mar 10 ทบทวน คุณสมบัติ สี color และ พื้นหลัง background property ของ CSS อ่าน 3508 30 Dec 08 การใช้งาน ajax ใน jQuery อย่างง่าย อ่าน 4480 18 Oct 08 สร้างเมนูแนวนอน ด้วย CSS ไม่ต้องใช้ตารางอย่างง่าย อ่าน 4127 04 Oct 11 การแสดงข้อมูลใน iframe ตามตำแหน่งที่ต้องการด้วย css อย่างง่าย อ่าน 848 18 Aug 10 ใช้ php ดึงรูปภาพ จากโฟลเดอร์ มาแสดง พร้อม เทคนิค แบ่งหน้า อ่าน 4488 13 Sep 10 ประยุกต์ สร้างเครื่องมือ ค้นหา พิกัด จากชื่อสถานที่ จำนวนมาก ใน google map อ่าน 1816 18 Oct 10 แนะนำ jwplayer สำหรับ แสดง video ในเว็บ และ jquery jwplayer อ่าน 1547
