Плагин jquery livequery выполняет размытие более - PullRequest
0 голосов
/ 29 мая 2009

У меня проблема с плагином livequery. Версия: 1.0.3.

Смотреть этот код:

$('#'+$(celDiv).find('input').attr('id')).livequery('blur',function(){
    var idProduct = $('#idProduct').val();
    var idSupplier = $('#idSupplier').val();
    var lotNumber = $('#lotNumber').val();
    var idSpecification = $('#idSpecification').val();
    var version = $('#version').val();
    var idItemAnalysis = id;
    var seqItemAnalysis = $(celDiv).parents('tr').find("td").eq(5).text();
    var operator = $(celDiv).parents('tr').find("td").eq(1).text();
    var val = $('#'+$(celDiv).find('input').attr('id')).val();

    if(val != null)
    {
        if((operator != '=>' && operator != '<=' ) && !isNaN(val.replace(',','.')))
        {
            $.post('/Operations/SaveAnalysisResults',{
                idProduct: idProduct,
                idSupplier: idSupplier,
                lotNumber: lotNumber,
                idSpecification: idSpecification,
                version: version,
                idItemAnalysis: idItemAnalysis,
                seqItemAnalysis: seqItemAnalysis,
                val: val
            });
            gridResultsAnalysis.flexReload();
        }
        else{
            alert("For this operation, the value must be numerical");
            $('#'+$(celDiv).find('input').attr('id')).val('');
        }
    }
});

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

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

У кого-то есть другое решение? В плагине livequery есть ошибка?

Спасибо всем !!!

1 Ответ

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

Теперь вы можете сделать это в ядре jQuery с 1.4.1+ следующим образом:

$(celDiv).find('input').live('blur', function(){

Также ваши звонки, как это:

$('#'+$(celDiv).find('input').attr('id')).val();

Может быть просто:

$(celDiv).find('input').val();

Или, внутри вашей функции:

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