onclick in循环引用循环中的最后一个元素

时间:2013-11-29 13:11:22

标签: jquery loops jquery-mobile associative-array

这是我的代码:

var $coursesList = $("#vakkenList");;
for (var course in lessons) {
    var $courseLi = $("<li/>", {
        "data-icon": "arrow-l",
            "data-iconpos": "left"
    });
    var $courseA = $("<a/>").append(course);
    $courseLi.append($courseA);
    $courseLi.click(function (e) {
        alert("click " + course);
        $("#AddLessonForm_vak").val(course);
        $("#gridItemDetailPanel2").panel("close");
        $("#gridItemDetailPanel").panel("open"); //TODO al open
    });
    $coursesList.append($courseLi);
};
$coursesList.listview("refresh");

当我对“li”元素进行onclick时,它会提示持续时间。在html中,附加了正确的课程。但是onclick中的引用出了问题。 我做错了什么?

1 个答案:

答案 0 :(得分:2)

点击事件没有问题

你的问题在于var课程。

当循环完成你的var课程有最后一个课程。

您需要从li

获取值
$courseLi.click(function(e){
            var realCourse = $(this).find("a").html();
            alert("click "+ realCourse );
            $("#AddLessonForm_vak").val(realCourse);
            $("#gridItemDetailPanel2").panel( "close");
            $( "#gridItemDetailPanel" ).panel( "open"); //TODO al open
        });