Javascript 重新使用jquery函数,为其提供一个php变量,而不是html

Javascript 重新使用jquery函数,为其提供一个php变量,而不是html,javascript,php,jquery,css,Javascript,Php,Jquery,Css,基本上,我有一个jquery脚本,它读取下拉列表国家/地区列表中的值,该脚本查找隐藏的ISO值,并使用字母作为sprite工作表上的坐标相应地显示一个标志 代码如下: // FLAGS (function($) { // size = flag size + spacing var default_size = { w: 20, h: 15 }; function calcPos(letter, size) { return -(letter.toLowerCase()

基本上,我有一个jquery脚本,它读取下拉列表国家/地区列表中的值,该脚本查找隐藏的ISO值,并使用字母作为sprite工作表上的坐标相应地显示一个标志

代码如下:

// FLAGS
(function($) {
// size = flag size + spacing
var default_size = {
    w: 20,
    h: 15
};

function calcPos(letter, size) {
    return -(letter.toLowerCase().charCodeAt(0) - 97) * size;
}

$.fn.setFlagPosition = function(iso, size) {
    size || (size = default_size);

    return $(this).css('background-position',
        [calcPos(iso[1], size.w), 'px ', calcPos(iso[0], size.h), 'px'].join(''));
};

// USAGE:
$(function() {
    // on load:
    $('select[name="country"]').on('change', function(){
        $('.country i').setFlagPosition($(this).val())[0].nextSibling.nodeValue =      $(':selected', this).text();
    });
});


})(jQuery);
用法部分可能是这里的相关部分,但为了完整性,我包括了所有内容

我现在想在站点的其他地方重用这个sprite搜索和显示代码,但是我不想依赖下拉值,我想让它只看一个php变量的值,例如$country witch将包含一个与下拉列表中提供的代码相同的iso代码

我不确定如何将php变量从php传递到jquery,以及如何让使用部分使用它

因此,我有var$country,我希望脚本将其更改应用于名为countryflag的div


顺便说一下,在上面的脚本中,精灵作为.country i的背景加载,以防有人想知道它是如何获取的。

您可以将php变量作为

<script>
var country_code = '<?php echo $country; ?>';
$(document).ready(function(){
    $('#div_id').setFlagPosition(country_code);
});
</script>

如果我没弄错的话,您可以这样使用country_代码。

您可以制作一个PHP脚本,回显您的变量,并用JavaScript发出一个AJAX请求来检索它,两边都使用JSON。@elclanrs Ok,但是我应该在js的使用部分添加什么来处理变量中的信息呢?所以我只是在生成变量的php脚本中使用内部标记?我在脚本的使用部分添加了什么,使它能够根据这些信息进行操作?