2016-01-11 2 views
0

Итак, у меня есть следующие ЯШИ:Изменение значения вара в JQuery

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

Идея заключается в том, что, если переменной add_form является 0, а затем запустить Ajax скрипта и добавить форму data в <div class="show_form">. В то же время измените значение add_form на 1, так что, если щелкнут тот же самый класс "click", он снова не запускает сценарий ajax (т. Е. Загружает только одну форму).

Есть ли у меня форму?

Благодаря

+1

Ну, это работает? – j08691

+0

nope. lol Я вижу, что значение 'add_form' меняет значение на 1 (проверяется на' alert (add_form) ', но я все еще получаю форму при нажатии кнопки. –

+2

Проблема в том, что между щелчком и ajax вызовите, что пользователь может щелкнуть несколько раз, так как вы дождались завершения вызова Ajax. И типы '1! ==" 1 "' имеют значение, когда вы используете сравнение типов. – epascarello

ответ

3

Нет, вы не имеете его правый

В одном месте вы используете номер один:

add_form !== 1 

и в другом использовании персонажу 1

add_form = '1'; 

Используйте ту же самую вещь в обоих местах, и она будет работать лучше, я ожидаю.

Вы также хотите, чтобы внести изменения сразу же, не дожидаясь вызова асинхронного вернуть - вы можете использовать другое значение для этого (чтобы показать «работает»)

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;   
     }); 
    } 
});  
+0

А, это была глупая ошибка. Спасибо, что указали! =) –

+0

@steveKim - yw, удачи – Hogan

+0

Также спасибо за предложение. Имеет смысл сразу изменить значение. =) –

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';   
     }); 
    } 
});  
Смежные вопросы