天天看點

在IE6下,解決js處理select時“無法設定selected屬性。未指明的錯誤”

無法設定selected屬性。未指明的錯誤

  如果在IE6中設定select控件的selected屬性的時候,會提示"無法設定selected屬性。未指明的錯誤。"比如執行如下代碼:

  // 執行下面語句之後出錯

  $("#selCourse option").attr("selected",true);

  後來查了一下資料,發現這個錯誤在IE5.5、7及Firefox等浏覽器下面沒有問題,唯獨IE6下有如下的提示。後來有人找到了一個解決的方法,就是設定selected屬性的時候使用setTimeout函數設定一個時間即可,代碼如下:

  // 使用setTimeout之後問題解決

  setTimeout(function() {

  $("#selCourse option").attr("selected",true);

  }, 1);

  如果後續還有其他依賴于selected屬性的來進行判斷的邏輯,也需要放在setTimeout塊中.

  setTimeout(function() {

  $("#selCourse option").attr("selected",true);

  //eg.

  G.changeSelected();

  }, 1);