如何使用onclick功能

时间:2012-12-11 13:36:43

标签: javascript html

我正在使用javascript和html。我正在调用一个函数“getdata()”,我能够动态地获取数据,但是当我点击来自

  • 的数据时,另一个函数需要调用,但在此我得到空值。我不知道这个功能在哪里出错了。但是如果我使用带有onchange事件处理程序的标记,当我们从select下拉列表中更改数据时,我可以看到onchange正在调用另一个函数

  • 5 个答案:

    答案 0 :(得分:1)

    <a>上不需要value代码和<li>属性 <options>的格式应为<option>

    为了完成这项工作我的建议是

     onclick='getlist("+group[i].name)+"')
    

    现在您遇到的错误是因为getlist函数没有发送li

    的值

    答案 1 :(得分:1)

    考虑将data属性用于普通HTML标记,例如li,f.ex:

    html += "<li data-value='"+(group[i].name)+"' "+
            "onclick='getlist(this.getAttribute(\'data-value\'));'>"+
            "<a href='#'>"+ group[i].name+"</a>"+
            "</li>;
    

    答案 2 :(得分:0)

    使用onclick ='获取列表(this.value);在锚标签而不是li标签

    答案 3 :(得分:0)

    最大的问题是存在z-index问题。正在执行的第一个标签被点击。你偶然使用html5吗?如果我是你,我会怎么做。

    <a href="#" data-value="x" onclick="getlist(this.getAttribute('data-value'))"></a>
    

    另外,您使用内联JS有什么特别的原因吗?

    答案 4 :(得分:0)

    li中的ul没有value属性。我认为这是一种很好的方法(没有内联事件)

    function getdata(){
        var html = "<ul id='getlist'>";
        for(var i=0;i<group.length;i++){
            if(group[i] !== null)
              html = html+"<li><a href='#'>"+ group[i].name+"</a></li>";
         }
         return html+"</ul>";
    }
    document.getElementById('getlist').onclick=getlist;
    // Function getlist
    function getlist(e)
    {
        e=e || window.event;
        var el=e.target || e.srcElement;
        alert(el.innerHTML); // or what ever you want
        return false;
    }
    

    Example Here