2011-08-29 13 views
1

同じキャッシュ問題を抱えており、上記の解決策で修正できませんでした。私はSymfony 1.4、JQuery、JEditableを使用しています。Symfony JEditableは、url_for()を使用してキャッシュ結果を取得します。

このコードをチェックアウトしてください:

$('#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'; 
}); 

私を助けてください!!!

+0

何が問題ですか? –

+0

問題は次の場所にあります: <?php echo url_for( 'mymodule/get_data?rid =')?> '+ data_id data_idは、常にキャッシュから送信されており、clickイベントが呼び出されるたびに異なる値を送信する必要があります。 – Edge

+0

私は解決策を見つけました.JQueryやJeditableではなく、Symfonyではハードコードされた値を使っていました。 – Edge

答えて

0

データが投稿される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' 
    } 
); 
+0

'destroy'を使用すると、JEditableの動作が停止します。しかし、ありがとう、私は解決策を見つけた、それはSymfony上にあった! – Edge

+0

だからこそ、あなたはそれを破壊した直後に再起動するのです...とにかく、あなたがあなたの解決策を見つけたら、ここにそれを掲示したいかもしれません。 –

関連する問題