Nasıl dinamik olarak seçenekleri değiştirirken YANİ seçme sorunu düzeltmek için
Aynı seçenekler var seçer bir dizi var. O zaman farklı bir seçin) seçili olan seçenekler görünmüyor böylece bir filtre ile bu seçenekleri işletiyorum. this jsFiddle (non-IE) ne demek istediğimi görmek için. Temelde seçer arasında birden çok kez seçilmiş olmanın aynı seçeneği önlemeye çalışıyorum
Ne yaptım şimdi, YANİ bir sorunu vardır. YANİ o keman (sadece Internet Explorer 9, bir önceki sürüm bende de aynı sorun var galiba denedim) açın. AAA en son seçin ve değiştirin. 3 Diğer görüntüler ne değişti seçer her ne kadar dikkat edin. Onlar için model değişmedi, ama IE seçenekleri değiştirildiğinde bir şekilde tüketiyor.
Benim ilk soru, bu işte bir terslik işlevselliği genel olarak yapıyorum? Bu aynı kod Krom istediğim tam olarak yok, ama ben sadece olmaması gereken bir şey mi yapıyorum? FF Nasıl YANİ bu etrafında alabilir miyim? Ve re-set modeli temizlemek biraz zaman aşımı denedim, ama işler bir fark etrafında atladı. Eğer iyi, temiz, düşük etkili bunun için geçici çözüm varsa merak ediyorum.
Herhangi bir yardım çok mutluluk duyacağız. Teşekkürler.
--GÜNCELLEME--
Bu fixed version 1.3.3 kendisi aşağıda A. S. Ranjan's solution kullanarak Açısal olmuştur. 1.3.3 yeni keman görmek: http://jsfiddle.net/m2ytyapv/
//dummy code so I can post the edit
CEVAP
Aynı sorunu geçen gece yaşadım ve aklıma gelen her şeyi atma sonra seçer kullanırken YANİ sadece güncelleme filtreleri işlemek istemeyen sonuca vardım.
Benim çözüm bu gibi görünmek için seçer değiştirmek için:
<select class="selectList" ng-repeat="currId in selectedIds" ng-model="selectedIds[$index]" ng-options="currOption.id as currOption.value for currOption in myObj | myfilter:selectedIds:$index" data-ng-change="fixIE()"></select>
Onlar şimdi bir sınıf var ve bir ng-değiştir onları. Sonra kumandanızı, bu eğlenceli kod biraz:
$scope.fixIE = function(){
//code to check if IE so the other browsers don't get this ugly hack.
var selectLists = document.querySelectorAll(".selectList");
for(var x = 0;x < selectLists.length; x ){
selectLists[x].parentNode.insertBefore(selectLists[x], selectLists[x]);
}
};
Ne DOM öğeleri dışarı rip ve bunların yerine aynı konumda. Burada çalışan bir kemanjsFiddle
Javascript dahil etmedi denedim diğer bazı çözümler seçme ekranı/görünürlük geçmek gibi şeyler vardı. Onların zİndex olması taşındı. Kesin sabit olan tek şey bu kod parçası oldu.
Nasıl dinamik olarak oluşturulan öğele...
Nasıl bir dinamik olarak görüntülemek ...
Nasıl giriş dinamik olarak ng-repeat k...
Nasıl dinamik olarak açısal js ile HTM...
Nasıl farklı ekranlar için textview di...