2010-10-25 11 views
3

J'ai deux listboxes avec plusieurs propriétés et en ajoutant les éléments de la première à la seconde, je ne veux pas la sélection sur la deuxième listbox.removeAttr ("selected") montrant l'erreur dans IE6

j'ai écrit le code comme ceci

$("#<%=lbCommcatTo.ClientID%> option").removeAttr("selected"); 

Il a travaillé dans IE7 mais pas dans IE6. Quelqu'un peut-il me donner une solution s'il vous plaît?

Le html est

<table cellspacing="0" cellpadding="0" width="100%" border="0"> 
    <tr> 
     <td width="45%"> 
      <div style="height: 230px;width: 234px; overflow: auto; border: solid 1px #c1c1c1" id="dvLeft" runat="server"> 
       <select id="lbCommcatFrom" runat="server" style="height:790px;" multiple name="lbCommcatFrom" class="ContentTextNormal"> 
       </select> 
      </div> 
     </td> 
     <td width="10%" align="center"> 
      <div style="border: solid 1px #6E6E6E; width: 20px; height: 20px; padding-top: 4px; text-align: center; margin-bottom: 5px; background-color: #CECFBE; cursor: pointer" title="Add to List" id="imgMoveRight" class="clsArrow"> 
      </div> 
      <div style="border: solid 1px #6E6E6E; width: 20px; height: 20px; padding-top: 4px; text-align: center; background-color: #CECFBE; cursor: default" title="Remove from List" id="imgMoveLeft" class="clsArrow"> 
      </div> 
      </td> 
      <td width="45%"> 
       <div style="height: 230px;width: 234px; overflow: auto; border: solid 1px #c1c1c1" id="dvRight" runat="server"> 
        <select id="lbCommcatTo" runat="server" style="height:230px;width:234px" multiple name="lbCommcatTo" class="ContentTextNormal"> 
        </select> 
       </div> 
      </td> 
     </tr> 
    </table> 

et le script va comme ceci

$("#imgMoveRight").click(function(){ 
       $("#<%=lbCommcatFrom.ClientID%> option:selected").appendTo("#<%=lbCommcatTo.ClientID%>");  

       if($("#<%=lbCommcatFrom.ClientID%> option").length == 0) 
       { 
         $("#<%=lbCommcatFrom.ClientID%>").parent().css("overflow-x","hidden"); 
         $("#<%=lbCommcatFrom.ClientID%>").parent().css("overflow-y","hidden");       
         $("#<%=lbCommcatFrom.ClientID%>").css("width","234px"); 
         $("#<%=lbCommcatFrom.ClientID%>").css("height","230px"); 
         $(this).css("cursor","default");       
       } 
       else 
       { 
        if($("#<%=lbCommcatTo.ClientID%> option").length > 0) 
        {      
         $("#<%=lbCommcatTo.ClientID%>").parent().css("overflow-x","scroll"); 
         $("#<%=lbCommcatTo.ClientID%>").css("width","465"); 
         $("#<%=lbCommcatFrom.ClientID%>").css("width","465"); 
         if($("#<%=lbCommcatTo.ClientID%> option").length > 15) 
         { 
          $("#<%=lbCommcatTo.ClientID%>").css("height",$("#<%=lbCommcatTo.ClientID%> option").length * 18);  
          $("#<%=lbCommcatTo.ClientID%>").parent().css("overflow-y","scroll"); 
         } 
         else 
         { 
          $("#<%=lbCommcatTo.ClientID%>").css("height","230"); 
          $("#<%=lbCommcatTo.ClientID%>").parent().css("overflow-y","hidden"); 
         } 

         $("#imgMoveLeft").css("cursor","pointer");      
        }      
       } 
       **$("#<%=lbCommcatTo.ClientID%> option").removeAttr("selected");**    



      }); 

      $("#imgMoveLeft").click(function(){ 

       $("#<%=lbCommcatTo.ClientID%> option:selected").appendTo("#<%=lbCommcatFrom.ClientID%>"); 
       $("#<%=lbCommcatFrom.ClientID%>").css("width","465");     
       if($("#<%=lbCommcatTo.ClientID%> option").length == 0) 
       { 
         $("#<%=lbCommcatFrom.ClientID%>").parent().css("overflow","scroll"); 
         $("#<%=lbCommcatTo.ClientID%>").parent().css("overflow-x","hidden"); 
         $("#<%=lbCommcatTo.ClientID%>").parent().css("overflow-y","hidden");       
         $("#<%=lbCommcatTo.ClientID%>").css("width","232px"); 
         $("#<%=lbCommcatTo.ClientID%>").css("height","230px"); 
         $(this).css("cursor","default"); 
       } 
       else 
       { 
        if($("#<%=lbCommcatFrom.ClientID%> option").length > 0) 
        {       
         $("#<%=lbCommcatFrom.ClientID%>").parent().css("overflow-x","scroll"); 
         if($("#<%=lbCommcatFrom.ClientID%> option").length > 15) 
         { 
          $("#<%=lbCommcatFrom.ClientID%>").css("height",$("#<%=lbCommcatFrom.ClientID%> option").length * 16);  
          $("#<%=lbCommcatFrom.ClientID%>").parent().css("overflow-y","scroll"); 
         } 
         else 
         { 
          $("#<%=lbCommcatFrom.ClientID%>").css("height","230"); 
          $("#<%=lbCommcatFrom.ClientID%>").parent().css("overflow-y","hidden"); 
         } 
         $("#imgMoveRight").css("cursor","pointer");  
        }      
       } 

       **$("#<%=lbCommcatFrom.ClientID%> option").removeAttr("selected");** 
      }); 
+2

Quelle est l'erreur? – Justin808

+0

Erreur de script affiche comme ceci: Impossible de définir la propriété sélectionnée.Une erreur non spécifiée – Pooja

Répondre

1

Vous pouvez essayer d'utiliser "attr"

$("#<%=lbCommcatTo.ClientID%> option").attr("selected", ""); 

[Source]

Avoir un regarde ici: [Link] plus précisément lire que:

If you wrap the code that sets selected in a setTimeout it works, surprisingly enough. 
I have to assume it needs to give control back to the browser to let state settle. 

Another way to get this to work is to wrap the code that sets selected in a try/catch 
block and just swallow the error from IE. It seems to set the element as selected properly 
despite the error! 
+0

Pas encore la même erreur existe – Pooja

+0

Quelle est l'erreur, ou pouvez-vous poster un lien pour le vérifier moi-même? – infinity

+0

C'est le problème avec IE6 seulement. Quelle peut être la raison ? Comment puis-je le corriger? – Pooja