2012-01-16 173 views
1

我在动态生成下拉列表egsomeDropDown0,someDropDown1,someDropDown2 ...等并在页面中将其写入div。我想知道如何将“选定”选项值设置为drop的onChange。为选择选项选择的javascript集

当我通过按钮添加一个新的下拉老值的原因被重置为“选择一个”。

需要一个onChange将选定的值设置为“Selected”,以便选定的值保持在那里。

<select id="someDropDown0" onChange=setVak(this, this.id)> 
    <option value="Select One" selected>Select One</option> 
    <option value="12">AB</option> 
    <option value="13">CD</option> 
    <option value="15">EF</option> 
    <option value="20">GH </option> 
    <option value="21">IJ </option> 
    <option value="22">LM </option> 

    </select> 





function setval(optionVal, optionId) 
{ 
     var dd = document.getElementById(optionId); 
     for (var i = 0; i < dd.options.length; i++) 
     { 
      if (dd.options[i].text === optionVal.text) 
      { 
       dd.selectedIndex = i; 
       break; 
      } 
     } 


} 

请帮忙。谢谢

+0

我已更新我的代码。谢谢。请帮忙。谢谢 – Nomad 2012-01-16 00:25:23

+0

这个问题仍然不完整。在寻求帮助时,不仅要描述你希望/希望发生的事情,而且还要描述实际发生的事情,包括任何错误消息。应该引用[HTML属性](http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2)。如果该值包含空格,则这是必需的。 – outis 2012-01-16 00:28:38

+0

你的代码工作正常:http://jsfiddle.net/CwLv8/ – Joe 2012-01-16 01:09:20

回答

1

如果我找到了你,并且你正在向现有的选择框添加新的选项:而不是某种“onchange”行为(实际上是对子树的修改),你可能想要改变附加新选择选项的代码。

看到这些功能。例如以供参考:

http://jsfiddle.net/J6bFS/

+0

嗨弗洛,非常感谢你的回答。我将新选项和div添加到页面中,而不是为已有选项添加新选项。 – Nomad 2012-01-16 00:41:08

+0

你的回答很接近,但并不完全符合我的要求我想在下拉菜单中设置选择的选项,这样当新选项被添加到div时,旧选项的值不会重置为默认值值。 – Nomad 2012-01-16 00:57:32

1

设置相应的选项元素设置为true的defaultSelected属性应该做的伎俩:

 > if (dd.options[i].text === optionVal.text) 
     > { 

       dd.options[i].defaultSelected = true; 

     >  dd.selectedIndex = i; 
     >  break; 
     > } 

但要确保你只有一个选项设置。

还是我完全误解了这个问题?