如何根据组合框选择更改文本标签?

时间:2012-10-11 08:06:32

标签: javascript html combobox label

我有一个组合框,其中有10个条目,当你点击一个时,我希望Select条目根据用户在组合框中选择的一个进行更改。我尝试了类似的东西,但它似乎没有用。

    if (document.getElementById('label').selectedIndex = '0')
        {document.getElementById('labelname').innerHTML='choice1';}

            else if(document.getElementById('label').selectedIndex = '1')
                {document.getElementById('labelname').innerHTML='choice2';}

                    else(document.getElementById('label').selectedIndex = '2')
                        {document.getElementById('labelname').innerHTML='choice3';} 

问题是,无论我点击哪一个凸轮总是回复到最后一个,给我'choice3'作为我所有10个条目的标签。有帮助吗?我还没有完成代码,因为它们还没有工作。

4 个答案:

答案 0 :(得分:1)

您的代码有两个主要问题。

  1. 对于相等比较,您必须使用'=='而不是'='。 '='将更改值
  2. 最后一个'else'必须有一个'if'关键字
  3. 正确如下:

    <html>
    <head>
    <script type="text/javascript">
    function select() {
    
       if (document.getElementById('label').selectedIndex == '0')
            {document.getElementById('labelname').value ='choice1';}
    
                else if(document.getElementById('label').selectedIndex == '1')
                    {document.getElementById('labelname').value ='choice2';}
    
                        else if(document.getElementById('label').selectedIndex == '2')
                            {document.getElementById('labelname').value ='choice3';} 
    
    }
    </script>       
    </head>     
    
    <body>
    
    <select id="label">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    </select>
    
    <button onclick="select()">Select</button>
    
    <input type="text" id="labelname" />
    
    </body>
    
    
    </html>
    

答案 1 :(得分:0)

我找到了答案:

更改

{document.getElementById('labelname').innerHTML=='choice1';}

{document.getElementById('labelname').innerHTML='choice1';}

如果要为某事物分配某些内容,请不要使用==

您能提供我们可以模拟这个的详细信息吗?包括您的html代码段和javascript。这里http://jsbin.com/

答案 2 :(得分:0)

  if (document.getElementById('label').selectedIndex == '0')
        {document.getElementById('labelname').innerHTML='choice1';}

            else if(document.getElementById('label').selectedIndex == '1')
                {document.getElementById('labelname').innerHTML='choice2';}

                    else(document.getElementById('label').selectedIndex == '2')
                        {document.getElementById('labelname').innerHTML='choice3';} 

试试这个。使用==来检查值。

答案 3 :(得分:0)

var selValue = document.getElementById('label').value;
document.getElementById('labelname').innerHTML = selValue;

为此,“label”必须如下所示:

<select id="label">
    <option>Name one</option>
    <option>Name two</option>
    <option>Name three</option>
</select>

.value会在<option selected>text in here is .value</option>

中为您提供内部文字

UPD。 JS:

  var index = document.getElementById('label').selectedIndex;
  var labelName = document.getElementById('labelName');

  switch(index) {
    case 0:
      labelName.innerHTML = "cam1";
      break;

    case 1:
      labelName.innerHTML = "cam2";
      break;
  }

如果您需要更多案例,请按示例添加case 2: ... case 3: ...等等

P.S。 switch() {}if ... else

的层次结构更美观