سؤال

لقد قمت بإنشاء حل بسيط للأعمدة/الصفوف القابلة للتوسيع مع RICH: DATATABLE و RICH: COLUMN ، وهو مشابه لـ: أفضل طريقة لجعل قابلية للتوسعة/قابلة للطي مع RICH: DataTable

رمز الوجه (مبسط) على النحو التالي:

<rich:dataTable id="detailtable"
    value="#{bean.model}"
    var="row"
    columns="2">
    <rich:column id="detail-check">
        <f:facet name="header">
            <h:selectBooleanCheckbox value="#{bean.expandAll}">
                <a4j:support event="onchange" action="#{bean.expandAllAction}"
                    reRender="detailtable" />
            </h:selectBooleanCheckbox>
        </f:facet>
        <h:selectBooleanCheckbox value="#{row.expanded}">
            <a4j:support event="onchange" reRender="detailtable" />
        </h:selectBooleanCheckbox>
    </rich:column>
    <!-- actual data column -->
    <rich:column id="detail-column"
        rendered="#{row.expanded}"
        breakBefore="true"
        colspan="2">
        <!-- detail column content -->
    </rich:column>
</rich:dataTable>

يوفر هذا جدولًا مع عمود موسع عند النقر فوق مربع التفاصيل ، يتم تقديم عمود التفاصيل أسفل الصف الفعلي. يتكرر ExployAltaction على دعم الفاصوليا فقط على الصفوف ويضع سمة موسعة إلى نفس الشيء كما هو الحال في دعم الفول ، وبالتالي توسيع/عدم توسيع جميع الصفوف.

ومع ذلك ، لا يعمل هذا بشكل صحيح مع Internet Explorer (IE7 أو IE8) ، على الرغم من أنه يعمل مع FF و Chrome. إذا نقر المستخدم على مربع الاختيار ، فلا يتم تقديم أي شيء حتى ينقر على أي مكان آخر في الصفحة. يتم تحديث الدعم والكائنات ، ولكن لا يوجد إعادة تقديم حتى يتم النقر على عنصر آخر.

هل هذا شيء شرير مرة أخرى مع IES أم مجرد خطأ مع Richfaces؟ لقد وجدت مشكلة مماثلة مع IE و Tbody ، ولكن كان ينبغي إصلاحها. يمكنني تقديم تقرير خطأ ولكن حتى ذلك ، هل هناك أي حلول بسيط؟

إصدار Richfaces هو 3.3.1 ويتم تشغيله على JBOSS 4.2.1GA و Sun RI.

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

المحلول

حاول استخدام حدث آخر مثل onclick
من TLDOC من SelectBooleAncheckbox: onchange هو "تم تنفيذ رمز JavaScript عندما يفقد هذا العنصر التركيز وتم تعديل قيمته منذ اكتساب التركيز." و onclick هو "تم تنفيذ رمز JavaScript عند النقر فوق زر المؤشر على هذا العنصر."

أمس كان سؤال مماثل. قد يؤكد تعليق واحد من Balusc افتراضي "في حالة أجهزة الراديو/مربعات الاختيار ، يكون حدث التغيير في متصفحات معينة يتم إطلاقها فقط إذا قمت بالنقر فوق مرتين"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top