ريتش: عمود قابل للاستمرار وقابل للتوسيع مع Internet Explorer
-
20-09-2019 - |
سؤال
لقد قمت بإنشاء حل بسيط للأعمدة/الصفوف القابلة للتوسيع مع 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 افتراضي "في حالة أجهزة الراديو/مربعات الاختيار ، يكون حدث التغيير في متصفحات معينة يتم إطلاقها فقط إذا قمت بالنقر فوق مرتين"