在jQuery中更改var值

时间:2016-01-11 18:14:00

标签: jquery

所以,我有以下js:

var add_form = '0'; 
jQuery(document).on( 'click', '.click', function(e) {   
    if(add_form !== 1) {  ???????       
        jQuery.ajax({
            type: "GET",
            url: custom.ajax_url, 
            dataType: 'html',
            data: ({ action: 'get_form'}),
            success: function(data){
                    jQuery('.show_form').html(data);                        
                    add_form = '1';           
        });
    }   
});     

我们的想法是,如果var add_form为0,则运行ajax脚本并在data中添加<div class="show_form">表单。同时,将add_form值更改为1,以便在单击相同的"click"类时,它不会再次运行ajax脚本(即仅加载表单)一次)。

我的表格是否正确?

由于

2 个答案:

答案 0 :(得分:3)

不,你没有做对

在一个地方你使用的是第一名:

add_form !== 1

在另一个中你使用角色1

add_form = '1';

在两个地方使用相同的东西,它会更好地发挥作用。

您还希望立即进行更改而不是等待异步调用返回 - 您可以使用不同的值(显示&#34;运行&#34;)

var add_form = 0; 
jQuery(document).on( 'click', '.click', function(e) {   
    if(add_form == 0) {  ???????       
        add_form = 2;
        jQuery.ajax({
            type: "GET",
            url: custom.ajax_url, 
            dataType: 'html',
            data: ({ action: 'get_form'}),
            success: function(data){
                    jQuery('.show_form').html(data);                        
                    add_form = 1;           
        });
    }   
});     

答案 1 :(得分:1)

尝试以下代码

var add_form = '0'; 

$(document).on('click', '.click', function(e) {   
    if(!Number(add_form)) {     
        $.ajax({
            type: "GET",
            url: custom.ajax_url, 
            dataType: 'html',
            data: ({ action: 'get_form'}),
            success: function(data){
                    jQuery('.show_form').html(data);                        
                    add_form = '1';           
        });
    }   
});