我在使用jQuery和選擇框的IE7中遇到問題。當我設置選擇框的寬度,然後使用jquery重新填充第一個選擇框更改時的項目時,第二個選擇框將根據設置的寬度縮小。在IE7中選擇框縮小,但不是IE6或IE8
例如: 以下代碼使用兩個選擇框。當第一個選擇框觸發更改事件時,它將刪除所有第二個選擇框並添加一些新值。如果我刪除第二個選擇框的樣式屬性,則會滿足所需的行爲。隨着style屬性留下,第二個選擇框會變得越來越小,並最終消失。
這隻發生在IE7中。
代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>test</title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#selOne").change(function(){
//Clear out the current service list
$("#selTwo option").each(function(){
$(this).remove();
});
for(var i=0; i < 10; i++){
var newOption = '<option value="'+ i +'">'+ i +'</option>';
$("#selTwo").append(newOption);
}
});
});
</script>
</head>
<body>
<select id="selOne" class="number req" style="width: 90%;">
<option value="" selected="selected">Initial Select</option>
<option value="">a</option>
<option value="">b</option>
<option value="">c</option>
</select>
<select id="selTwo" class="number req" style="width: 90%;">
<option value="" selected="selected">These should update</option>
<option value="">100</option>
<option value="">101</option>
<option value="">102</option>
</select>
</body>
</html>
如何我還可以指定一個寬度,但沒有選擇框縮小到什麼?唯一的方法是以像素爲單位的絕對寬度?
看起來像一個瀏覽器錯誤,不知道你的問題是什麼,或者即使有問題。看起來你有一個完全可以接受的答案,即使用寬度樣式來強制下拉的大小。 – Lazarus 2009-12-15 16:36:43
拉撒路,一個瀏覽器的bug是我害怕的。由於缺陷和兼容性問題,我們曾經讓我們的用戶關閉IE6。雖然這對用戶體驗並不重要,但這是一個煩惱。無論如何,我在帖子末尾添加了我的問題。 – Scott 2009-12-15 17:00:21