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



我有这个jQuery部分,我想使用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>');     
}

如果您想在其他函数中使用leString变量,则需要在函数外部将该变量定义为global variable

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>');     
}

注:不要使用live(),它已被弃用。使用on()代替

您需要在live()函数之外定义该变量。

var leString;
$(".noar").live("click",function() { 
leString = $(this).attr("searchkey"); ... });

jquery .live()方法在jquery 1.7中被弃用,在1.9中被删除!你应该把它替换成:

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

相关内容

  • 没有找到相关文章

最新更新