1

我有一个组合框,其中有 10 个条目,当您单击一个时,我希望选择条目根据用户在组合框中选择的条目进行更改。我已经尝试过类似的东西,但它似乎不起作用。

    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

4 回答 4

1

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

  1. 对于相等比较,您必须使用 '==' 而不是 '=' 。'=' 将改变值
  2. 最后一个“else”必须有一个“if”关键字

正确的如下:

<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>
于 2012-10-11T08:31:03.217 回答
0

我找到了答案:

改变

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

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

==当您想将某物分配给某物时不要使用

你能提供我们可以模拟这个的细节吗?包括您的 html 片段和 javascript。这里http://jsbin.com/

于 2012-10-11T08:09:03.280 回答
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';} 

试试这个。用于==检查值。

于 2012-10-11T08:10:42.640 回答
0
var selValue = document.getElementById('label').value;
document.getElementById('labelname').innerHTML = selValue;

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

<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: ...依此类推

psswitch() {}比hierarchy漂亮多了if ... else

于 2012-10-11T08:20:44.620 回答