我试图根据组合框中的选择更改输入的值,因此用户从组合框中选择“是”,输入应包含“test”值,而不是 如果用户选择“否”,则输入应为空,从中删除“测试”值。
我尝试运行以下代码:
<h:inputText id="myInput" value="aaa" styleClass="myInputStyleClass" />
<h:selectOneMenu id="myComboBox" value="#{bean.boolVal}">
<f:selectItem itemLabel="#{m.n}" itemValue="false" />
<f:selectItem itemLabel="#{m.y}" itemValue="true" />
</h:selectOneMenu>
<rich:jQuery timing="onload" selector="#myComboBox" query="change(
function(){
if ($(this).val() == true) {
$('.myInputStyleClass').val('test');
}
} )" />
在此版本中运行javascript错误“对象不支持此属性或方法”仍然会发生。(当我在组合框中更改选择时)
删除后
if($(this).val()== true)
condtion和additionals {}第一个javascript错误消失了,但是当我在组合框中更改选择时,会出现另一个说“null is'null'或者不是对象”。
我不确定是否只有富有面孔的罐子(3.3.2)支持这种jQuery实现,比如使用“$”和其他方法(可能是某些jQuery库已经嵌入),这可能是为什么这不是在我看来工作。
请欢迎任何关于如何实现此行为的想法。
此致 拉杜
答案 0 :(得分:2)
使用if ($(this).val() == 'true')
,因为值将是一个字符串,而不是布尔值,因此比较将始终为false:
js> 'false' == true
false
js> 'true' == true
false
答案 1 :(得分:0)
尝试替换以下行:
if ($(this).val() == true)
与
if ($(this).val() == 'true')