0

这是我编码的一部分

function getStudentList() {
    $.getJSON('http://mydomain.com/getStudents.php?jsoncallback=?', function(data) {
        $('#studentList li').remove();
        $('#load').hide();
        //students = data.user_name;
        $.each(data, function(index, student) {
            $('#studentList').append('<li><a href="student_detail.html?user_name=' + student.data.user_name + '">' +
                    '<h4>' + student.data.user_name + '</h4>' +
                    '<p>' + student.data.role + '</p>' +
                    '</a></li>');
        });
        $('#studentList').listview('refresh');
    });
}

我看过一些帖子,phonegap 可能不支持像 student_detail.html?user_name=XXXX 这样的 URL,对吗?因此,我想通过使用 localStorage 来改变方法。studentList 将生成学生列表,我想向用户显示所选学生的详细信息。一旦学生被选中,他的用户名将存储在localStorage中,并在其他页面中获取值进行进一步处理。下次,当用户想看另一个学生时,该localStorage会先删除,然后再新建。这种方法可以吗?而且,我的问题是如何保存所选学生的用户名的值?

var id = $("#id").val();
window.localStorage["id"] = id;

我不知道如何在 $.each 中创建特定的#id

4

1 回答 1

0

PhoneGap 将相对 URL 视为项目中包含的本地文件 (file://)。

如果student_detail.html驻留在服务器上,则应使用完全限定的 URL 对其进行寻址,例如http://mydomain.com/student_detail.html?user_name=...

您还需要确保http://mydomain.com根据http://docs.phonegap.com/en/2.3.0/guide_whitelist_index.md.html在 PhoneGap 项目中将其列入白名单

至于为每个分配一个 ID li,只需将其添加到您的模板中:

... .append('<li id="' + student.data.user_name + '"> ...')
于 2013-03-17T23:16:17.167 回答