2011-04-27 93 views
1

好吧,现在我正在使用下面的代码正常工作。选定的选项在变量中:'val'。但现在我想更改div ID。那么,如何将'var_div'的值更改为'val'的值呢?将div id更改为javascript变量

<form name="form1" method="POST"> 
    <select name="select1" onchange="updatevariable(this)"> 
    <option value="div2" >2</option> 
    <option value="div15" >15</option> 
    </select> 
    </form> 

    <script type="text/javascript"> 
    function updatevariable(elm) { 
    val = elm.options[elm.selectedIndex].value; 
    window.alert(val); 
    } 
    </script> 

    <div id='var_div'> 
    </div> 

回答

2
document.getElementById("var_div").id = val; 

编辑:

顺便说一句,你要存储元素别的地方的ID,让你知道要寻找什么ID为下一次你想要改变它。如果你不这样做,这段代码将只能使用一次。如果你想支持多次更改ID,你可能想要做这样的事情:

<script type="text/javascript"> 
    var currentDivId = "var_div"; 

    function updatevariable(elm) { 
     val = elm.options[elm.selectedIndex].value; 
     window.alert(val); 
     var divElement = document.getElementById(currentDivId); 
     divElement.id = val; 
     currentDivId = val; 
    } 
</script> 
2

你可以做

document.getElementById('var_div').setAttribute('id',val) 

一样简单的东西,但是你可能还需要寻找到一个框架如jquery。如果你将要做很多这样的事情,会让你的生活变得更轻松!

+0

他要求更新ID,而不是内容: ) – 2011-04-27 14:14:27

+0

发现我重新读了这个问题! :) – Dve 2011-04-27 14:16:01

2

这个怎么样...

document.getElementById("var_div").setAttribute("id", val); 

...与... jQuery

$('#var_div').attr('id',val); 

我希望这有助于。
斯托伊奇

+0

我建议不要在jQuery之前仔细阅读javascript,以便先了解好的基础知识:) – Marwan 2011-04-27 14:24:18

+0

@Marwan ...当然,我只是想包括它的乐趣 – Hristo 2011-04-27 14:25:56

1

你可以做到这一点,如果你需要:

<div id="test"></div> 
<script type="text/javascript"> 
var elem = document.getElementById("test"); 
alert(elem.id); 
elem.id = "test2"; 
alert(document.getElementById("test2").id); 
</script> 

更改已使用Javascript选定后,该元素的id属性。

0

如果这个div是唯一一个在形式展现因此它很容易这样

<form name="form1" method="POST"> 
    <select name="select1" onchange="updatevariable(this)"> 
    <option value="div2" >2</option> 
    <option value="div15" >15</option> 
    </select> 
    </form> 

    <script type="text/javascript"> 
    function updatevariable(elm) { 
    document.getElementByTagNames('DIV')[0].id= elm.options[elm.selectedIndex].value; 
    } 
    </script> 

    <div id='var_div'> 
    </div> 

我没有动态地获取股利不通过ID,因为该ID将是选择标签的变化而变化然后更改ID作为选项

的价值,但如果在形式与其他div的,所以我们需要把这个div来设置属性就像

<div id='var_div' changeId="true"> 
    </div> 

,然后遍历的div的d PIC它并更改其ID

function updatevariable(elm) { 
var divs = document.getElementByTagNames('DIV'); 
    for(var i =0;i<divs.length;i++) 
    { 
     if(divs[i].getAttribute('changeId')!=null) { 
     if(divs[i].getAttribute('changeId')=="true"){ 
       divs[i].id=elm.options[elm.selectedIndex].value; 
      } 
      } 
     } 
    } 

提到 问候 请注明这个答案是正确的,如果它本对你有用 :)

+0

太棒了!非常感谢。 – steven22 2011-04-27 14:30:54

+0

欢迎您随时标注我的答案,如果它的用处:) – Marwan 2011-04-27 20:53:59