2016-06-02 5 views
1

ich eine observable array, wo ich mit Objekten wievalueHasMutated() - comptible mit IE 8

{ 
    thisId: value.id, 
    nom: value.nom, 
    isChecked:check 
}; 

der Code füllen den observableArray

self.fullFilter = function() { 
    var check; 
    self.thisObservableArray.removeAll(); 
    self.anOther1.removeAll(); 
    self.anOther2.removeAll(); 
    $.get("data/"+self.currentOngletId()+"?ajax=1", function(data) { 
     $.each(data, function(i, item) { 
      $.each(item, function(j, value) { 
       check = null; 
       switch (i) { 
        case 0: 
         try{ 
          if(value.observable_value.length > 0){ 
           check = "checked"; 
          } 
          var elem = { 
           thisId: value.id, 
           nom: value.nom, 
           isChecked:check 
          }; 
          self.thisObservableArray().push(elem); 
         } catch(e){ 
          console.warn('fullfilter -> observable_value '+e) 
         } 
         break; 
        case 1: 
         //an other same code different variables 
         break; 
        case 2: 
         //an other same code different variables 
         break; 
       } 
      }); 
     }); 
     try { 
      self.thisObservableArray.valueHasMutated(); 
      self.anOther1.valueHasMutated(); 
      self.anOther2.valueHasMutated(); 
     } catch(e){ 
      self.error("fullfilter",e); 
     } 
    }); 
}; 

zu füllen Wenn ich mit IE versuchen 8, ich habe dieser Fehler

Unable Bindungen zu analysieren

Bindungen Wert: attr: {für: 'thisObservableArray -' + $ data.thisId}

Nachricht: Bezeichner, Zeichenfolge oder Zahl erwartet

der Teil der Ansicht, wo der Fehler gefunden wird

<fieldset> 
    <legend>Statut</legend> 
     <ul data-bind="foreach: thisObservableArray()"> 
      <li> 
       <div class="form-group"> 
        <label data-bind="attr:{for:'thisObservableArray-'+$data.thisId}"> 
        <input class="observable-input" data-bind="attr:{id:'thisObservableArray-'+$data.thisId, name:'thisObservableArray['+$data.id+']', checked: $data.isChecked}" type="checkbox"/> 
        <span data-bind="text: $data.nom"></span> 
       </label> 
      </div> 
     </li> 
    /ul> 
</fieldset> 

Antwort

0

IE8 unterstützt keine Attributauswahl im Kompatibilitätsmodus.

Sie benötigen einen Doctype (<!doctype html>), der den Standardmodus auslöst.

Article

DocTypes

enter image description here

+0

Aber ich meine wirklich stoppen ie8 lol –

+0

leid verwenden, aber ich muss es tun, weil in meiner Firma habe ich auf die Statistik, ** viele Leute sind mit IE8 noch **, und ich stimme Ihnen zu – yepzy

+0

yeah total bekommen es, eine Menge von Unternehmen, die ich für die Anfrage mit ie kompatibel zu entwickeln. und es schafft viele Probleme ohne Grund. Siehe oben Bearbeiten –