Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery的不同函数中使用变量_Jquery_Function_Variables_Global Variables_Jsonp - Fatal编程技术网

在jquery的不同函数中使用变量

在jquery的不同函数中使用变量,jquery,function,variables,global-variables,jsonp,Jquery,Function,Variables,Global Variables,Jsonp,我有这个jQuery部分,我想使用函数(response)中第一个函数的var lString。我试过一些退换货,但没有一件不起作用 $(".noar").live("click",function() { var leString = $(this).attr("searchkey"); $.ajax({ url: rootDomain + "kunden/intent24/js/pz.json?callback=jsonp"+leString, dataType: 'json

我有这个jQuery部分,我想使用函数(response)中第一个函数的var lString。我试过一些退换货,但没有一件不起作用

$(".noar").live("click",function() {
var leString = $(this).attr("searchkey");
$.ajax({
    url: rootDomain + "kunden/intent24/js/pz.json?callback=jsonp"+leString,
    dataType: 'jsonp',
    jsonpCallback: "jsonp"+leString,
    error: function(xhr, status, error) {
        alert(error);
    },
    success: function(size) { 
        jsonpParty(size);
        $("#lisize").show();
        $("#size").menuFlip();
    }
});
});

function jsonpParty(response){

var i,c = '<div class="fn_menu_title pointer"><span>Choose size</span></div><ul class="fn_menu">', opt = $('<li/>');

var menu = response.size;
alert(leString);


for (i=0; i < menu.length; i++){
    c += '<li><span class="pointer search_link guddi" searchkey="xdz'+leString+' xdz'+ menu[i].measure +'" id="'+[i]+'">' + menu[i].measure + '</span></li>';
}

$('#size').html(c+'</ul>');     
}
$(“.noar”).live(“单击”,函数(){
var leString=$(this.attr(“searchkey”);
$.ajax({
url:rootDomain+“kunden/intent24/js/pz.json?callback=jsonp”+leString,
数据类型:“jsonp”,
jsonp回调:“jsonp”+leString,
错误:函数(xhr、状态、错误){
警报(错误);
},
成功:函数(大小){
jsonpParty(尺寸);
$(“#lisize”).show();
$(“#大小”).menuFlip();
}
});
});
函数jsonpParty(响应){
变量i,c='Choose size
    ',opt=$('li/>'); var菜单=response.size; 警惕(莱斯特林); 对于(i=0;i'; } $('size').html(c++
); }
如果要在其他函数内部使用
leString
变量,则需要将taht变量定义为函数外部的
全局变量

var leString = "";
另一种方法是:

$(".noar").on("click",function() {
var leString = $(this).attr("searchkey");
$.ajax({
    url: rootDomain + "kunden/intent24/js/pz.json?callback=jsonp"+leString,
    dataType: 'jsonp',
    jsonpCallback: "jsonp"+leString,
    error: function(xhr, status, error) {
        alert(error);
    },
    success: function(size) { 
        jsonpParty(size,leString);
        $("#lisize").show();
        $("#size").menuFlip();
    }
});
});

function jsonpParty(response,leString){

var i,c = '<div class="fn_menu_title pointer"><span>Choose size</span></div><ul class="fn_menu">', opt = $('<li/>');

var menu = response.size;
alert(leString);


for (i=0; i < menu.length; i++){
    c += '<li><span class="pointer search_link guddi" searchkey="xdz'+leString+' xdz'+ menu[i].measure +'" id="'+[i]+'">' + menu[i].measure + '</span></li>';
}

$('#size').html(c+'</ul>');     
}
$(“.noar”)。在(“单击”,函数(){
var leString=$(this.attr(“searchkey”);
$.ajax({
url:rootDomain+“kunden/intent24/js/pz.json?callback=jsonp”+leString,
数据类型:“jsonp”,
jsonp回调:“jsonp”+leString,
错误:函数(xhr、状态、错误){
警报(错误);
},
成功:函数(大小){
jsonpParty(尺寸,leString);
$(“#lisize”).show();
$(“#大小”).menuFlip();
}
});
});
函数jsonpParty(响应,leString){
变量i,c='Choose size
    ',opt=$('li/>'); var菜单=response.size; 警惕(莱斯特林); 对于(i=0;i'; } $('size').html(c++
); }

注意:不要使用
live()
,它已被弃用。使用
on()
代替您需要在live()函数之外定义该变量

var leString = "";
var leString;
$(".noar").live("click",function() { 
leString = $(this).attr("searchkey"); ... });
另外,jquery.live()方法在jquery 1.7中被弃用,在1.9中被删除!您应将其替换为:

$(document).on('click','.noar',function(){...});

我确实定义了它,但函数jsonParty中我的警报(leString)是空的。@SebastianRush您只需在函数外部定义它一次,然后只给它一个值:leString=$(this).attr(“searchkey”);(不带var)从此行中删除var-leString=$(this.attr(“searchkey”);原因是我们已经声明leString是函数外部的全局函数,所以不需要在函数内部定义为var。