0

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

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

  • 4

    5 回答 5

    1

    不需要<a>标签和value属性<li> 的格式<options>应该是<option>

    为了使这项工作我的建议是

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

    现在你面临的错误是因为getlist函数没有发送 li 的值

    于 2012-12-11T13:54:01.497 回答
    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>;
    
    于 2012-12-11T13:54:08.737 回答
    0

    使用 onclick='getlist(this.value); 在锚标签中插入 li 标签

    于 2012-12-11T13:40:21.673 回答
    0

    最大的问题是存在 z-index 问题。a 标签正在被单击,首先执行。您是否偶然使用html5?如果我是你,我可能会做的事情是这样的。

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

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

    于 2012-12-11T13:48:44.927 回答
    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;
    }
    

    示例在这里

    于 2012-12-11T14:42:30.307 回答