Загрузка Ajax с проблемой обратного вызова селектора jquery - PullRequest
0 голосов
/ 28 января 2011

Ок, ребята,

В основном мне нужно изменить значение ввода (в данном случае это кнопка загрузки), после которого загрузка начинается и заканчивается и т. Д., Что вы можете увидеть в моем коде. Проблема в том, что на странице может быть несколько таких полей (имеет смысл в контексте того, для чего они нужны), поэтому я должен использовать $ (this), чтобы только элемент, по которому щелкнули (например, #up), получил вызов назад изменения. Я не могу понять это вообще.

Буду очень признателен за помощь.

Я использую этот плагин, http://valums.com/ajax-upload/,, чтобы сделать это, и вот мой код:

new AjaxUpload('#up', {
    name:'uploadedfile', 
    action: 'image-upload.php', 
    onSubmit: function(file, extension) {
        $(this).val("uploading...");    
    },

    onComplete: function(file, response){

        $(this).val(response).removeClass('unactive');

        }


    });

Спасибо!

1 Ответ

0 голосов
/ 28 января 2011

Обход:

var up = $("#up");
new AjaxUpload(up, {
   ...
   onSubmit: function(file, ext) {
       up.val("uploading...");
   }, 
   ...
});

Используя то, как работают области видимости и замыкания, вы можете просто посмотреть цепочку на up.Это также кеширует ваш селектор.

Такого рода обычная практика для that = this или self = this

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...