posts - 35, comments - 0, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          問(wèn)題描述:firefox下js中動(dòng)態(tài)組裝select時(shí)指定option的selected屬性的失效

           

          有問(wèn)題的代碼如下:

           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);

           此時(shí)selected屬性無(wú)效,ff中的select顯示的是option列表的最后一個(gè)。

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

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

           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                         }

           


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 苍南县| 吉木萨尔县| 广丰县| 喀喇沁旗| 鄂伦春自治旗| 义乌市| 云安县| 四子王旗| 江西省| 衡阳县| 磴口县| 长兴县| 界首市| 新昌县| 建阳市| 集贤县| 洮南市| 琼结县| 澄迈县| 当涂县| 巴马| 滦南县| 格尔木市| 纳雍县| 华安县| 铁岭县| 呼图壁县| 巧家县| 新宁县| 泗阳县| 绵阳市| 尼勒克县| 团风县| 兰州市| 常熟市| 金寨县| 罗山县| 五华县| 紫金县| 礼泉县| 银川市|