2013-04-10 95 views
1

我有这样的代码:如果声明不接受变量值

meJi = 33; 
$.ajax({ 
type: "POST", 
url: mega, 
data: string, 
beforeSend: function() { 
    $('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast'); 
}, 
complete: function() { 
    $('#loading').fadeOut('fast'); 
}, 
success: function(msg) { 
    loading_hide(); 
    f = (msg).length; 
    if (f <= 1250) { 
     alert("su busqueda no presenta resultados"); 
     code(3); 

     else { 
      $("#container").html(msg); 
      fdemandados(); 
     } 
    } 
}); 
function code(ig) { 
    console.log(img); 
    meJi = ig; 
} 

$("#select_comprobar3").on('click', function(event) { 
    tacuba = $("#amazon").val(); 
    ca = "2"; 
    dan = "g"; 
    if (meJi ==3) { 
     avisobusqueda2 = $("#avisofiltro").html("zzzFiltro activado Busqueda por la palabra: " + tacuba + " - clic para quitar ").fadeIn('slow'); 
    } else {} 
    if (!tacuba) { 
     alert("Debe ingresar una palabra"); 
    } else { 
     lor = tacuba; 
     var page = "1"; 
     loadData(page, dan, lor); 
    } 
    event.stopImmediatePropagation(); 
    return false; 
}); 

的问题是这样的:

if (meJi==3) { 

我不知道为什么,但明治变量从未总是变为3这样条件假设meji是33.

编辑:我改变了条件部分,但问题仍然存在。

+1

您是否收到警报“su busqueda no presenta resultados”? – 2013-04-10 17:25:32

+0

在这段代码中,它永远不会到达“3”,但是你也在比较String和Integer。 – Niels 2013-04-10 17:25:45

+0

@Niels'“3”== 3','“3”!=== 3' – 2013-04-10 17:26:08

回答

5

function code(ig){ 
    console.log(img); 
    meJi = ig; 
} 

岂不是console.log(ig);?如何得到它会导致错误(img未定义),因此,meJi不会被设置。

+0

这不会导致错误。它只会在控制台输出'undefined'。 – Steve 2013-04-10 17:29:01

+0

@Orin是的,但这不是问题。是另一个错误。 – JuanFernandoz 2013-04-10 17:30:24

+0

@Steve如果没有定义img,它会抛出一个'RefereneceError'并阻止meji被设置。 – aug 2013-04-10 17:31:28