posts - 35, comments - 0, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          日歷

          <2012年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          搜索

          •  

          最新評論

          問題描述:firefox下js中動態(tài)組裝select時指定option的selected屬性的失效

           

          有問題的代碼如下:

           1                         // 加載select列表
           2                         var teaOption ='', ownerSel = $("ownerSel");
           3                         for(var i = 0; i < teaList.length; i ++){
           4                             var teacher = teaList[i];
           5                             if(teacher.isDeleted === false){
           6                                 var tid = teacher.id, tName = teacher.fullName, newOption;
           7                                 var flag = ((tid === formerOwnerId) ? 'selected="selected"' : '');
           9                                 teaOption += '<option value="'+tid+'" '+ flag +'>'+ tName +'</option>';
          10                             }
          11                         }
          12                         ownerSel.html(teaOption);

           此時selected屬性無效,ff中的select顯示的是option列表的最后一個。

          原因貌似是這樣子:
          selected這個屬性本身是沒有錯的,你在頁面開始加載的前寫好,然后瀏覽器加載的時候就會讀取這個dom,然后有selected這個效果。
          但是通過js動態(tài)組裝的select的html代碼,在ie下我剛剛試了下可行(我剛剛失敗的原因是三目運算符處少加了一個括號);firefox下,在請求加載的同時加載dom元素,但是ff內(nèi)核可能是為了追求速度,而省略了一些dom的屬性的加載,導致了selected這個屬性的失效。

          解決方法(我用的是mootools):在加載的時候?qū)ption元素通過如下解決

           1                         // 加載select列表
           2                         var ownerSel = $("ownerSel");
           3                         for(var i = 0; i < teaList.length; i ++){
           4                             var teacher = teaList[i];
           5                             if(teacher.isDeleted === false){
           6                                 var tid = teacher.id, tName = teacher.fullName, newOption;
           7                                 if(tid === formerOwnerId)
           8                                     newOption = new Element('option', {"value" : tid, "selected" : "selected"}).html(tName);
           9                                 else
          10                                     newOption = new Element('option', {"value" : tid}).html(tName);
          11                                 ownerSel.grab(newOption); // 將新的element插入到select中
          12                             }
          13                         }

           


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 望江县| 大理市| 罗江县| 大悟县| 株洲县| 阿坝| 台北县| 吉木乃县| 灵宝市| 美姑县| 柞水县| 焉耆| 阳江市| 昌黎县| 松溪县| 巴中市| 麟游县| 永兴县| 涟水县| 金川县| 子洲县| 拉孜县| 中西区| 隆子县| 利川市| 长宁县| 平潭县| 大丰市| 洛南县| 临沂市| 轮台县| 泰兴市| 九台市| 平乐县| 巴彦淖尔市| 宝山区| 桂平市| 绿春县| 沙湾县| 万荣县| 新蔡县|