如何使用jQuery设置输入的值?

时间:2010-05-14 09:02:36

标签: java jquery richfaces

我试图根据组合框中的选择更改输入的值,因此用户从组合框中选择“是”,输入应包含“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库已经嵌入),这可能是为什么这不是在我看来工作。

请欢迎任何关于如何实现此行为的想法。

此致 拉杜

2 个答案:

答案 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')