ฉันใช้ jQuery เพื่อซ่อนและแสดงองค์ประกอบเมื่อมีการเปลี่ยนแปลง / คลิกกลุ่มปุ่มตัวเลือก ใช้งานได้ดีในเบราว์เซอร์เช่น Firefox แต่ใน IE 6 และ 7 การดำเนินการจะเกิดขึ้นเมื่อผู้ใช้คลิกที่อื่นบนหน้าเท่านั้น
หากต้องการอธิบายอย่างละเอียดเมื่อคุณโหลดหน้าเว็บทุกอย่างดูดี ใน Firefox หากคุณคลิกปุ่มตัวเลือกแถวหนึ่งของตารางจะถูกซ่อนไว้และอีกแถวหนึ่งจะแสดงทันที อย่างไรก็ตามใน IE 6 และ 7 คุณคลิกปุ่มตัวเลือกและจะไม่มีอะไรเกิดขึ้นจนกว่าคุณจะคลิกที่ใดที่หนึ่งบนหน้า จากนั้น IE จะวาดหน้าใหม่ซ่อนและแสดงองค์ประกอบที่เกี่ยวข้อง
นี่คือ jQuery ที่ฉันใช้:
$(document).ready(function () {
$(".hiddenOnLoad").hide();
$("#viewByOrg").change(function () {
$(".visibleOnLoad").show();
$(".hiddenOnLoad").hide();
});
$("#viewByProduct").change(function () {
$(".visibleOnLoad").hide();
$(".hiddenOnLoad").show();
});
});
นี่คือส่วนหนึ่งของ XHTML ที่มีผลกระทบ ทั้งหน้าตรวจสอบว่า XHTML 1.0 เข้มงวด
<tr>
<td>View by:</td>
<td>
<p>
<input type="radio" name="viewBy" id="viewByOrg" value="organisation"
checked="checked" />Organisation</p>
<p>
<input type="radio" name="viewBy" id="viewByProduct" value="product" />Product</p>
</td>
</tr>
<tr class="visibleOnLoad">
<td>Organisation:</td>
<td>
<select name="organisation" id="organisation" multiple="multiple" size="10">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</td>
</tr>
<tr class="hiddenOnLoad">
<td>Product:</td>
<td>
<select name="product" id="product" multiple="multiple" size="10">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</td>
</tr>
หากใครมีความคิดว่าเหตุใดจึงเกิดขึ้นและจะแก้ไขอย่างไรพวกเขาจะชื่นชมมาก!