Internet Explorer 使用大量带有 valueChangeListener/ajax 的复选框非常慢

发布于 2024-11-14 14:06:30 字数 1083 浏览 2 评论 0原文

我有一个带有 html 表格的 jsf 站点,最多显示 300 行和 50 列。除了表头和第一列(某人的名字)外,所有单元格都包含一个复选框。

所以我有一个最多包含 15,000 个复选框的表单。

这是代码:

<h:form>
<table>
   <a4j:repeat var="item" value="#{listBean.listItems}" rows="0" >
      <tr>
         <td>#{item.name}</td>

         <a4j:repeat var="box" value="#{item.activations}" >

            <td>
            <a4j:region renderRegionOnly="true" >
               <h:selectBooleanCheckbox value="#{box.checked}"
                     valueChangeListener="#{listBean.activationChanged}"
                     immediate="true" >
                  <a4j:support event="onchange" />
               </h:selectBooleanCheckbox>
            </a4j:region>
            </td>

         </a4j:repeat>

      </tr>
   </a4j:repeat>
</table>
</h:form>

如您所见,我已经使用区域来保持快速渲染。我需要使用 valueChangelistener,因为我们不能使用按钮来提交。 客户还希望避免在这里寻呼。

火狐浏览器速度非常快。但在 IE 中,检查单个框需要 3-5 秒。

有人可以帮我提高 IE 的性能吗?

谢谢!

问候

I have a jsf site with a html table, which shows up to 300 rows and 50 columns. Except the table-header and the first column (someones name) all the cells contain a checkbox.

So i have a form with up to 15.000 checkboxes.

Here's the code:

<h:form>
<table>
   <a4j:repeat var="item" value="#{listBean.listItems}" rows="0" >
      <tr>
         <td>#{item.name}</td>

         <a4j:repeat var="box" value="#{item.activations}" >

            <td>
            <a4j:region renderRegionOnly="true" >
               <h:selectBooleanCheckbox value="#{box.checked}"
                     valueChangeListener="#{listBean.activationChanged}"
                     immediate="true" >
                  <a4j:support event="onchange" />
               </h:selectBooleanCheckbox>
            </a4j:region>
            </td>

         </a4j:repeat>

      </tr>
   </a4j:repeat>
</table>
</h:form>

As you can see, i already use regions to keep the rendering fast. I need to use the valueChangelistener, because we must not use a button for submitting.
The customer also wants to avoid paging here.

Firefox is very fast. But in IE the checking of a single box takes 3-5 seconds.

Can anybody help me increase the performance of IE here?

thx!

regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文