جافا سكريبت Selectbox تحديث اللازمة في YUI 3, عند اختيار أحد ؟

StackOverflow https://stackoverflow.com/questions/1201898

  •  05-07-2019
  •  | 
  •  

سؤال

أنا باستخدام يوي 3 إلى السماح لشخص انقر فوق "تحديد الكل" أو "حدد لا شيء" ومن ثم يكون selectbox حدد كافة العناصر أو إلغاء كل منهم ، على التوالي.هنا هو بلدي رمز:

// This selects all
    Y.on('click',function (e) {
            selectBoxNode.get("options").each(function () {
               this.removeAttribute('selected');
               this.setAttribute('selected','selected');
            });
        }, selectAllNode
    );

// This selects none
   Y.on('click',function (e) {
            selectBoxNode.get("options").each(function () {
               this.setAttribute('selected','false');
               this.removeAttribute('selected');
            });
            selectBoxNode.('selectedIndex',-1);
        }, selectNoneNode
    );

selectAllLink, selectNoneLink ، selectBoxNode بديهي ، بشكل صحيح إرجاع العقد.تحديث:selectAll يعمل لدي لإزالة يدويا 'اختيار' سمة لكل وإعادة إضافته.

على selectNoneLink لا يعمل:فإنه unselects فقط العناصر التي لم تكن قبل اختيار...على الرغم دوم التفتيش تبين أن selectedIndex سمة تغيرت بالفعل إلى -1, لذلك ربما يحتاج تحديث ؟

سيكون موضع تقدير أي مساعدة.إذا كان هذا يحدث في جميع الأطر التي من شأنها أن تكون كذلك.

وذلك بفضل!

هل كانت مفيدة؟

المحلول

هذا عملت بالنسبة لي.

YUI().use('node', function(Y) {
   Y.get('#unsel').on('click', function(e) {
     Y.get('select').get('options').set('selected',false);
   });
   Y.get('#sel').on('click', function(e) {
     Y.get('select').get('options').set('selected', true );
   });
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top