jeditable - как установить для измененной ячейки другое значение, чем переданное значение? - PullRequest
0 голосов
/ 06 февраля 2011

возможно я просто недостаточно умен.Я начал работать с jeditable, и он отлично работает, но я застрял на несколько часов.

Я использую поля выбора, отображаемые при нажатии (спасибо jeditable), и храню отредактированные данные в БД, Все идет нормально.

Проблема, я получаю результат со стороны сервера, который я должен установить в редактируемом поле.По умолчанию будет установлено значение из выбранного поля в списке выбора.

Я не понимаю, почему возврат начался до того, как запрос ajax был выполнен (или начался?).Поэтому невозможно вернуть результат.И конечно, моей первой мыслью было, что я запускаю возврат полностью: function (), но нет :).

$(".columnSelectLine").editable( function(value, settings) {
        var result;
        $.ajax({
            url:'/ajax/jq_ajax_scripts.php',
            type:'post',
            data:'request=wizardSaveFromTableColumnMapping&dbName='+dbName+'&dbTableName='+dbTableName+'&column='+this.id+'&value='+value,
            success: function(data) {
                result = data;
            },
            error: function(req) {
                alert("bad");
            }
        });
        console.log(result);
        return(result); // result is empty || return(value) works but is the commited value from the select field


    }, {
    loadurl : '/ajax/jq_ajax_scripts.php?request=wizardGetColumnMappingValues&dbName='+dbName+'&dbTableName='+dbTableName+'&id='+this.id,
    type    : 'select',
    onblur  : 'submit'  
});

Надеюсь, я просто тупой, и вы скажете мне, как это происходит.

1 Ответ

1 голос
/ 06 февраля 2011

посмотрите, вы устанавливаете результат, затем вызываете ajax, затем запускаете консоль, затем вы возвращаете результат, а затем, однажды, возможно, через секунду, результат возвращается с сервера.Вам нужно поместить свои данные и установить их в обработчике успеха, нигде раньше ...

, из-за этого он называется ajax, асинхронный, потому что ваши данные возвращаются асинхронно, но сценарий выполняется синхронно через, не ожидая ответа от сервера, но обработчик успеха делает.

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