【问题标题】:onclick in loop references only last element in looponclick in loop 仅引用循环中的最后一个元素
【发布时间】:2013-12-15 16:52:49
【问题描述】:

这是我的代码:

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”元素时,它会提醒最后一门课程。在 html 中附加了正确的课程。但是 onclick 中的引用出了点问题。 我做错了什么?

【问题讨论】:

标签: jquery loops jquery-mobile associative-array


【解决方案1】:

点击事件没有问题

你的问题在于 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
        });

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    相关资源
    最近更新 更多