Symfony JEditable извлекает кэшированные результаты, используя url_for () - PullRequest
1 голос
/ 29 августа 2011

У меня такая же проблема с кешем, и я не могу ее исправить с помощью вышеуказанного решения.Я использую Symfony 1.4, JQuery и JEditable.

Пожалуйста, проверьте этот код:

$('#example tbody td').click( function () {

    /* Get the position of the current data from the node */
    var aPos = oTable.fnGetPosition( this );

    /* Get the data array for this row */
    var aData = oTable.fnGetData( aPos[0] );
    var d = new Date();
    var data_id = aData[0]*d.getMilliseconds();

    //oCache.lastJson.aData[aPos[0][aPos[1]] = sValue;
    //oTable.fnUpdate( sValue, aPos[0], aPos[1] );

    //alert("aData:"+data_id);
    $('td.cSelect').editable(
        '<?php echo url_for('mymodule/get_data?rid=') ?>'+data_id, 
        { 
              data      : '<?php print  json_encode($array); ?>',
              id        : data_id,          
              type      : 'select',
              submit    : 'OK'
        }
    );
    /* Update the data array and return the value */
    aData[ aPos[1] ] = 'clicked';
    this.innerHTML = 'Select';
} );

Пожалуйста, ПОМОГИТЕ мне !!!

1 Ответ

0 голосов
/ 30 августа 2011

Чтобы изменить URL-адрес, по которому публикуются данные, необходимо уничтожить редактируемый элемент. Поэтому, если вы сделаете это прямо перед вызовом .editable(), все должно работать как положено.

$('td.cSelect').editable('destroy');
$('td.cSelect').editable(
    '<?php echo url_for('mymodule/get_data?rid=') ?>'+data_id, 
    { 
          data      : '<?php print  json_encode($array); ?>',
          id        : data_id,          
          type      : 'select',
          submit    : 'OK'
    }
);
...