Javascript无序列表Onclick

时间:2013-12-02 02:48:01

标签: javascript jquery html5

我在html中有一个无序列表,我使用javascript

添加了列表项
$(document).ready(function () {
    $.ajax({
        url: "/Home/GetSchools",
        type: 'get',
        dataType: "json",
        async: false,
        success: function (data) {
            $.each(data.Items, function (index, value) {
                console.log("the schoolname is" + value.schoolName);
                $('ul#dropdown-items').append(' <li role="presentation"><a id="value.schoolId" role="menuitem" tabindex="-1" href="#" onclick="setschool(this.id);return false;">value.schoolName</a></li>');
                $('ul#dropdown-items').append('<li role="presentation" class="divider"></li>');
            });
        }
    });
});

我无法获得value.schoolName和onclick =“setschool(this.id);工作..

2 个答案:

答案 0 :(得分:0)

这是因为您将值硬编码为字符串,而不是变量。检查页面时,是否正确打印了ID?

注意:您还要记住的一件事是 NOT 使用数字作为元素ID,而不是像这样编写:<a id="school_101">Graystone High</a>

这就是你如何实现一切:

$(document).ready(function () {
           $.ajax({
                    url: "/Home/GetSchools",
                    type: 'get',
                    dataType: "json",
                    async: false,
                    success: function (data) {
                        $.each(data.Items, function (index, value) {
                            console.log("the schoolname is" + value.schoolName);
                            $('ul#dropdown-items').append(' <li role="presentation"><a id="school_'+value.schoolId+'" role="menuitem" tabindex="-1" href="#" onclick="setschool(this.id);return false;">'+value.schoolName+'</a></li>');
                        });
                     }
                });
           });

另外,我注意到你添加了附加2项:一个包含数据,而另一个用作分隔符。您使用一个<li>并检查该元素是否是数据集的最后一个。如果最后一个,您可以为其设置border-bottom: 1px dashed #CCC样式。

答案 1 :(得分:0)

选中此fiddle

$(document).ready(function () {
    i=0;
    value=["Hello","hi","hey"];
    $.each(value,function(){
        $('#dropdown-items').append("<li  > <a   style='cursor:pointer' id='"+value[i]+"'>"+value[i]+"</a></li><br/>");
        i++;
    });

    $("a").on("click",function(){
    alert(this.id);
    });
    });