将AJAX对应的数组数据发送给PHP

时间:2013-10-12 00:14:03

标签: javascript php jquery ajax arrays

这是我的浏览器扩展脚本代码。名称数组中的字符串通过使用javascript插件用class =“。highlight”围绕它们来突出显示。当用户将鼠标悬停在突出显示的单词上时,倾斜的插件会使用AJAX数据创建工具提示。 php API库使用AJAX数据创建工具提示,显示有关给定单词的信息。

我的代码:

var names = ["Barack Obama", "Thursday"];
var number = ["N00007360", "N00001817"];
for (var x = 0; x < names.length; x++) {
    $("div").highlight(names[x], true);
 }
 jQuery(document).ready(function($) {
    Tipped.setDefaultSkin('white');
    Tipped.create(".highlight", "example.php", {
        ajax: { data: { id: "N00007360" }, type: 'post' }
    });
});

我不确定如何在AJAX数据部分的数字数组中发送相应的值。截至目前,为所有突出显示的单词创建了SAME工具提示 - 使用传递给php API库的id N00007360。我需要的是工具提示为数字数组中的每个单词(名称数组)发送相应的字符串。

示例(我需要的):将鼠标悬停在Barack Obama这个词上,并将ID“N00007360”作为AJAX数据发送。将鼠标悬停在星期四,并将ID“N00001817”作为AJAX数据发送。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我认为这样的事情可能有用。

每个对象键都会突出显示,然后为每个高亮类获取文本并使用它来调用对象键的值

var obj = {
    "Barack Obama" : "N00007360",
    "Thursday"     : "N00001817"
};

jQuery(document).ready(function($) {

    $.each(obj, function(key, value) {
        $("div").highlight(key, true);
    });

    Tipped.setDefaultSkin('white');
    $('.highlight').each(function() {

        var currentKey = $(this).text();
        Tipped.create(this, "example.php", {
            ajax: { data: { id: obj[currentKey] }, type: 'post' }
        });

    });
});

如果您修改突出显示插件以允许添加其他html属性(例如数据属性),那么洞穴内容可能会更容易,但我想这可能已经足够了