gpt4 book ai didi

javascript - inputText 的绑定(bind)属性如何影响 javascript 方法?

转载 作者:行者123 更新时间:2023-11-30 18:06:24 25 4
gpt4 key购买 nike

我正在使用 jsf 和 liferay。我对它很陌生。对于为某些 javascript 或 jquery 方法选择 jsf 的任何元素的任何 javascript 方法,我需要对其进行设置。

<h:inputText id="abc" binding="#{abc}"/>

请注意,我已将绑定(bind)设置为与 id 相同,有人告诉我这样做。如果没有像那样设置绑定(bind),我将无法在我的 javascript 方法中选择任何元素。我真的不知道原因。因为这对我有用,所以我使用了它,但没有详细介绍

但现在对于某些功能我确实需要实际使用绑定(bind),将 UIInput 绑定(bind)到托管 bean。所以我改变了我的标签。

<h:inputText id="abc" binding="#{mybean.uiAbc}"/>

在这种情况下,我的 javascript 方法如下

function doSomething(){
$("##{abc.clientId}").val("hello everyone");
}

它不工作。它给了我异常,比如... # is undefined..

在 javascript 中,我与绑定(bind)无关,所以为什么它现在停止工作了?为什么它更早地使用与 id 相同的绑定(bind)值?

最佳答案

如果您将 binding="#{abc}" 替换为 binding="#{myBean.uiAbc}",那么您显然也应该更改 # {abc.clientId}#{myBean.uiAbc.clientId} View 的其他地方。

function doSomething(){
$("##{myBean.uiAbc.clientId}").val("hello everyone");
}

idbinding 必须同名,这完全是胡说八道。

您可能面临的唯一问题是默认的 JSF 命名容器分隔符 : 是 CSS 选择器中的一个特殊字符,就像在 jQuery 中使用的那样,因此该构造可能会失败.仅当您手动重新配置 JSF webapp 以使用不同的、CSS 安全的字符(如 -_)时,此构造才会起作用。如果你确实使用默认的:,那么你应该使用

function doSomething(){
$("[id='#{myBean.uiAbc.clientId}']").val("hello everyone");
}

另见:

关于javascript - inputText 的绑定(bind)属性如何影响 javascript 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15711164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com