【问题标题】:readonly not working in the multiple autoComplete primefacesreadonly 在多个 autoComplete primefaces 中不起作用
【发布时间】:2013-01-03 13:54:55
【问题描述】:

<p:autoComplete>readonly 属性不起作用。设置readonly="true" 后我仍然可以输入文本。我不想使用disabled="true",因为它不会让我删除任何选择。这是如何引起的,我该如何解决?

【问题讨论】:

  • 能显示相关代码吗?

标签: jsf-2 autocomplete primefaces


【解决方案1】:

似乎是一个已知问题(至少在 3.4.2 中)

Issue 5070: auto complete readonly but send ajax to server

可能的解决方法:

改为渲染 outputText 或只读 inputText 组件。

PrimeFaces Community Forum : autocomplete readonly: still send ajax

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。但是,我找到了解决方法。您可以将自动完成的各个内容设置为只读。

    <script type="text/javascript">
        //<![CDATA[
    
        $(document).ready(function() {
            document.getElementById('contentForm:myId_input').setAttribute("readOnly","true");
        });
    
        // ]]>
    </script>
    

    这里 myId 是自动完成的 id。输入框有一个 id myId_input,它只是在末尾附加了 '_input'。

    就现有值而言,您可以使用 selectunselect 事件来限制更改。

    【讨论】:

      【解决方案3】:

      这是我的解决方法。 它看起来像自动完成组件

      <h:panelGroup layout="block" styleClass="ui-autocomplete ui-autocomplete-multiple">
          <h:panelGroup layout="block" styleClass="ui-autocomplete-multiple-container ui-widget ui-inputfield ui-corner-all">
              <ui:repeat value="#{bean.values}" var="value">
                  <h:panelGroup layout="block" styleClass="ui-autocomplete-token ui-state-active ui-corner-all">
                      <h:outputText styleClass="ui-autocomplete-token-label" value="#{value}"/>
                  </h:panelGroup>
              </ui:repeat>
          </h:panelGroup>
      </h:panelGroup>
      

      【讨论】:

        猜你喜欢
        • 2021-12-11
        • 2023-04-10
        • 2013-06-30
        • 2016-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-14
        • 1970-01-01
        相关资源
        最近更新 更多