Bir izin kullanıcı arayüzü oluşturuyorum, her iznin yanında bir seçim listesi olan bir izinler listesi var. İzinler, seçilen bir listeye bağlı gözlemlenebilir nesneler dizisi ile temsil edilir:
<div data-bind="foreach: permissions">
<div class="permission_row">
<span data-bind="text: name"></span>
<select data-bind="value: level, event:{ change: $parent.permissionChanged}">
<option value="0"></option>
<option value="1">R</option>
<option value="2">RW</option>
</select>
</div>
</div>
Şimdi sorun şudur: değişiklik olayı, kullanıcı arayüzü ilk kez doldurulduğunda ortaya çıkar. Ajax işlevimi çağırıyorum, izinler listesini alıyorum ve ardından izin öğelerinin her biri için olay ortaya çıkıyor. Bu gerçekten istediğim davranış değil. Sadece bir kullanıcı seçim listesindeki izin için gerçekten yeni bir değer seçtiğinde yükseltilmesini istiyorum, bunu nasıl yapabilirim?
selectöğenin Anahtarı olarak geçen dizeleri test ettim . Bununla birlikte, seçimin başlangıç değeri seçeneklerden biriyle eşleşse bile, yine dechangeolayı tetikledi .ifİşleyicide bu basit bloğu uyguladığımda , her şey beklendiği gibi çalıştı. Önce bu yöntemi deneyin. Teşekkürler @Sarath!