Jquery: как снова вызвать функцию? - PullRequest
1 голос
/ 23 марта 2010

Я делаю скрипт для удобной загрузки множества файлов. Я пробовал плагин fyneworks , но имя файла не отображается в форме, которая использует tiny_mce . Это код:

$("document").ready(function () {
    var i = 0; //iteration for Inputted File
    var max = 5; //max file uploaded
    createStatus(); //generate status container
    $('.imageNow').change(function() {
        if($(this).val()) {
            var ext = $(this).val().split('.').pop().toLowerCase();
            var allow = [ 'gif', 'png', 'jpg', 'jpeg' ];
            if (jQuery.inArray(ext, allow) != -1) { //validation true
                addImgInput($(this).clone());
                $(this).addClass('imgOK');
                $(this).removeClass('imageNow');
                addImgList($(this).val());
                removeImgStatus();
                i++;
            }
            else {
                addImgStatus();
                $(this).remove();
                addImgInput();
            }
        }
        return false;
    });
});

Это еще одна функция, которую я использую:

function addImgInput(inputClone) {
    $(inputClone).prependTo( $('#upload_images') ); //div container for generated InputFileImg
};

function addImgList(listingImg) {
    $('#list_image_file').append('<li>' + listingImg + '</li>' ); //list all images that have been inputted
}
function createStatus() {
    $('#upload_images').append('<small class="status"></small>'); //error display container
}
function addImgStatus() {
    $('.status').append('* Wrong File Extension'); //error display text
}
function removeImgStatus() {
    $('.status').empty();
}

Ммм .. да еще не закончено, потому что когда я пытаюсь сгенерировать другой файл ввода с классом imageNow , $ ('. ImageNow'). Change (function () больше не будет работать. Кто-нибудь может мне помочь? Спасибо

1 Ответ

1 голос
/ 23 марта 2010

Я на самом деле не понял, если это ваша проблема:

когда я пытаюсь создать другой Входной файл с классом imageNow, $ ('. imageNow'). change (function () is больше не буду работать.

, но чтобы решить эту проблему, вы должны использовать .live:

$('.imageNow').live('change', function() {
   // your code
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...