1

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

4

3 回答 3

3

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

问题 5070:自动完成只读但将 ajax 发送到服务器

可能的解决方法:

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

PrimeFaces 社区论坛:只读自动完成:仍然发送 ajax

于 2013-01-20T09:24:25.933 回答
0

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

<script type="text/javascript">
    //<![CDATA[

    $(document).ready(function() {
        document.getElementById('contentForm:myId_input').setAttribute("readOnly","true");
    });

    // ]]>
</script>

这里myId是自动完成的 id。输入框有一个 id myId_input,它只是简单地附加在末尾的“_input”。

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

于 2014-11-04T15:48:23.803 回答
0

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

<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>
于 2016-04-17T21:59:12.183 回答