2016-04-14 74 views
0

我有两个下拉列表“optionone”和“optiontwo”,我想将默认选择值从“option value = 3> 3”更改为选项值= 3选择> 3时2从我的第一个下拉列表(“optionone”)如何更改第二个下拉列表中的预设默认值

<script> 

function myFunction() { 
    var mylist = document.getElementById("optionone"); 
     var myvalue = mylist.options[mylist.selectedIndex].value 

     if (myvalue == 2) { 
     //do stuff 
    document.getElementById("optiontwo") 
     //Change <option value=3>3 to <option value=3 selected>3 
     } 

} 
</script> 

我的下拉列表中选择

<select name="optionone" onchange="myFunction()"> 
    <option value=1>1 
    <option value=2>2 
    <option value=3>3 
    <option value=4>4 
    <option value=5>5 
    <option value=6>6 
</select> 

<select name="optiontwo"> 
    <option value=1>1 
    <option value=2>2 
    <option value=3>3 
    <option value=4>4 
    <option value=5>5 
    <option value=6>6 
</select> 

,我想改变以下时,2是从选择我的第一个下拉列表(optionone)

<select name="optiontwo"> 
    <option value=1>1 
    <option value=2>2 
    <option value=3 selected>3 
    <option value=4>4 
    <option value=5>5 
    <option value=6>6 
</select> 

我有点卡住

+0

可能的复制[使用jQuery更改下拉列表的选定值](http://stackoverflow.com/questions/499405/change-the-selected-value-of-a-drop-down-list-with-jquery) – nyname00

回答

0
  1. 你有一个无效markup<option>必须被关闭
  2. 没有id属性为第二选择输入
  3. 您可以设置value属性,而不是使用索引查找选项值。
  4. value应该被包裹在quote
  5. ,而不是与selected属性弹,设置的值会使得option选择。
  6. 相反的inline-event-binding,使用addEventListener

/* 
 
function myFunction(elem) { 
 
    document.getElementById("optiontwo").value = elem.value; 
 
} 
 
*/ 
 
document.getElementById('optionone').addEventListener('change', function() { 
 
    document.getElementById("optiontwo").value = this.value; 
 
});
<select name="optionone" id="optionone" onchange="myFunction(this)"> 
 
    <option value='1'>1</option> 
 
    <option value='2'>2</option> 
 
    <option value='3'>3</option> 
 
    <option value='4'>4</option> 
 
    <option value='5'>5</option> 
 
    <option value='6'>6</option> 
 
</select> 
 
<select name="optiontwo" id='optiontwo'> 
 
    <option value='1'>1</option> 
 
    <option value='2'>2</option> 
 
    <option value='3'>3</option> 
 
    <option value='4'>4</option> 
 
    <option value='5'>5</option> 
 
    <option value='6'>6</option> 
 
</select>

0

删除的onChange = “” 从HTML

并更新您代码或标记这样的..

<select name="optionone" id="optionone"> 
    <option value='1'>1</option> 
    <option value='2'>2</option> 
    <option value='3'>3</option> 
    <option value='4'>4</option> 
    <option value='5'>5</option> 
    <option value='6'>6</option> 
</select> 
<select name="optiontwo" id='optiontwo'> 
    <option value='1'>1</option> 
    <option value='2'>2</option> 
    <option value='3'>3</option> 
    <option value='4'>4</option> 
    <option value='5'>5</option> 
    <option value='6'>6</option> 
</select> 

然后添加这段JavaScript代码

document.getElementById('optionone').addEventListener('change', 
function() { 
    if(this.value == 2){ 
     document.getElementById("optiontwo").value = 3; 
    } 
}); 

,你的问题就解决

+0

这是jQuery,所以我需要添加jquery天秤座ry为此工作,这是它 – Rich

+0

@很好看我的例子我更新,所以你可以得到JavaScript代码 –

0

由于以上我适应人造丝的脚本来更新我想,如下

<script> 
document.getElementById('optionone').addEventListener('change', function() { 
    if (this.value == 2){ 
     document.getElementById("optiontwo").value = 3; 
    } 
}); 
</script>