<select name=a id=a onchange="f1();"><option value='0'>00</option></select>因为select对象是后期生成的,所以不方便从f1()参数中传入对象,可否从函数内部获取dom对象自身,以便下一步操作呢?f1()

 return('这里如何返回函数的触发对象a ');
}

解决方案 »

  1.   

    <script>function f1(el){alert(el.id)}</script>
    <span id="test" onclick="f1(this)">123</span>
      

  2.   


        <select name=a id=a onchange="f1(this);"> <option value='0'>00 </option> </select> 
    function f1(obj){
        alert(obj.id);
         /**这里的obj就是 <select name=a id=a onchange="f1(this);"> 里面的this。
             this指针,指向了这个标签的自身。*/
    }--------------- 给分 ----------------
      

  3.   

    可能你的<select name=a id=a onchange="f1();"> 标签是动态生成的,比如jsp的for循环。你可以把我写的东西放在window.onload = function(){// your code will write here};
    如果我理解错误,请你举个例子。我看看情况,你可以描述一下。这么看你给出的代码,我上面的方法可以解决的。
      

  4.   


    <HTML> 
    <HEAD> 
    <script> 
    function f1(){
    window.Event = window.Event || new Object();
        Event.element = Event.element || function(event) { return event.target || event.srcElement; };
        
        var event = window.event || arguments.callee.caller.arguments[0];
        var element = window.Event.element(event);
        alert(element.options[element.selectedIndex].value);
    };
    </script> 
    </HEAD> <BODY> 
     <select name=a id=a onchange="f1();"> <option value='0'>00 </option> <option value='1'>11 </option></select>
    </BODY> 
    </HTML>
      

  5.   

    html部分:<select name=aa id=aa><option value='000'>000</option></select>
    <span name='attArea' id='attArea'></span>---------------------------------------------
    脚本部分:
    <script>
    function G(id) { return document.getElementById(id); }window.onload = function()
    {
    var SelectPlus = G("aa");
    SelectPlus.onchange = function()
             { 
              f1(0); 
            };
    }
    function f1(nIndex) 
    {        alert('需要获得当前选择的值。'); Childs=G("attArea").childNodes;
    for(var i=Childs.length;i>=0;i--){
    if ( i > nIndex){
    G("attArea").removeChild(Childs[i-1]);
    }else{
    var S = document.createElement('select');
    S.onchange = function() {
                                  ChgNode(nIndex+1);//这里又产生一个select,同样如果改变了这个select,就增加一个下级select,
                            };
    S.options[0] = new Option('请选择', '');
    G("attArea").appendChild(S);

    }
    }}
    </script>不知道意思明白了么?
      

  6.   


    <HTML> 
    <HEAD> 
    <script> </script> 
    <script> 
    function G(id) { return document.getElementById(id); } window.onload = function() 

    var SelectPlus = G("aa"); 
    SelectPlus.onchange = function() 
            { 

              f1(0); 
            }; 

    function f1(nIndex) 

            window.Event = window.Event || new Object();
        Event.element = Event.element || function(event) { return event.target || event.srcElement; };
        
        var event = window.event || arguments.callee.caller.arguments[0];
        var element = window.Event.element(event);
        alert(element.options[element.selectedIndex].value);Childs=G("attArea").childNodes; 
    for(var i=Childs.length;i>=0;i--){ 
    if ( i > nIndex){ 
    G("attArea").removeChild(Childs[i-1]); 
    }else{ 
    var S = document.createElement('select'); 
    S.onchange = function() { 
                                  ChgNode(nIndex+1);//这里又产生一个select,同样如果改变了这个select,就增加一个下级select, 
                            }; 
    S.options[0] = new Option('请选择', ''); 
    G("attArea").appendChild(S); } 
    } } 
    </script>
    </HEAD> <BODY> 
    <select name=aa id=aa> <option value='000'>000 </option><option value='111'>111 </option> </select> 
    <span name='attArea' id='attArea'> </span>
    </BODY> 
    </HTML>