Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript更改primefaces SelectOne菜单标签/值_Javascript_Jsf_Primefaces - Fatal编程技术网

使用javascript更改primefaces SelectOne菜单标签/值

使用javascript更改primefaces SelectOne菜单标签/值,javascript,jsf,primefaces,Javascript,Jsf,Primefaces,我有一个文本字段和几个SelectOne菜单。如果我在文本字段中写入内容,我想更新所选项目/下拉列表的标签,反之亦然: 问题是我无法从textfield事件访问下拉标签 文本字段的JSF: <p:inputText id="nameInput"value="#{searchProject.searchName}" onkeyup="textToDropdown()"/> 但是我只得到一个未定义的对象…我的第二种方法是使用.innerHtml,但是如何使用它访问标签呢?还包括其他三

我有一个文本字段和几个SelectOne菜单。如果我在文本字段中写入内容,我想更新所选项目/下拉列表的标签,反之亦然:

问题是我无法从textfield事件访问下拉标签

文本字段的JSF:

<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";