使用javascript更改primefaces SelectOne菜单标签/值
我有一个文本字段和几个SelectOne菜单。如果我在文本字段中写入内容,我想更新所选项目/下拉列表的标签,反之亦然: 问题是我无法从textfield事件访问下拉标签 文本字段的JSF:使用javascript更改primefaces SelectOne菜单标签/值,javascript,jsf,primefaces,Javascript,Jsf,Primefaces,我有一个文本字段和几个SelectOne菜单。如果我在文本字段中写入内容,我想更新所选项目/下拉列表的标签,反之亦然: 问题是我无法从textfield事件访问下拉标签 文本字段的JSF: <p:inputText id="nameInput"value="#{searchProject.searchName}" onkeyup="textToDropdown()"/> 但是我只得到一个未定义的对象…我的第二种方法是使用.innerHtml,但是如何使用它访问标签呢?还包括其他三
<p:inputText id="nameInput"value="#{searchProject.searchName}" onkeyup="textToDropdown()"/>
但是我只得到一个未定义的对象…我的第二种方法是使用.innerHtml,但是如何使用它访问标签呢?还包括其他三个div类。的标签是:
var label1 = document.getElementById("selectionForm:entryActionTabs:brand_selection2").getElementsByTagName("label")[0];
label1.innerHTML="HI";
但是我仍然想知道为什么我不能直接使用完整的ID,以及是否有更好的方法获得标签。我肯定有一个。组合框是一个可编辑的下拉列表,如
中所示。然而,你没有这样一个。所以我修正了你问题中不正确的术语。
<script type="text/javascript">
function textToDropdown(){
var x = document.getElementById("selectionForm:entryActionTabs:namePatternInput");
//if the text of the input is bigger than 2, fill the first dropdown
if(x.value.length >= 2)
{
//I DONT KNOW HOW DO ACCESS THE LABEL OF THE DROPDOWN
}
}
</script>
var label= document.getElementById("selectionForm:entryActionTabs:brand_selection2_label");
var label1 = document.getElementById("selectionForm:entryActionTabs:brand_selection2").getElementsByTagName("label")[0];
label1.innerHTML="HI";