2012-01-07 20 views
0

私はzendフレームワークとajaxにいくつかの問題があります。ZF ajax一般的な方法

ビューでは、タブ付きのdivがあります。 UnitTab "#tabUnits"をクリックすると、ユニットビューに項目のリストが表示されます。新しいユニットを追加するためのリンクもあり、追加ビューはタブにロードされます。

ユニットを追加するためのリンクがある:

<a id="addUnit" href="idBuilding/<?= $this->idBuilding ?>" href="#"><img width="16" height="16" src="/images/icons/fugue/plus-circle-blue.png"></a> 

とAJAX呼び出しは:

$(document).ready(function(){ 

    var url = '/unit/add/'+$("#addUnit").attr('href'); 

    // ADD 
    $("#addUnit").click(function(event){ 
     event.preventDefault(); // link is not executed 

     $.ajax({ 
      url: url, 
      type: 'GET', 
      success: function(data) { 
       $("#tabUnits").html(data); 
      }, 
      error: function(){ 
       alert('An error occurred, please check before continue...'); 
      } 
     }); 

    }); 

}); 

エラーがユニットが追加される発生していないとリストが再度表示されます。

IDが変更されていることを認識して、ユニットを編集したい場合はどうすれば同じことができますか?

+0

あなたは – emaillenin

答えて

1

これはZFとよく似ているわけではありません。jQueryだけです。より多くの要素に対して同じAJAX呼び出しを使用したい場合は、変数urlを変更してください。

<a class="link" data-url="add" id="addUnit" href="idBuilding/<?= $this->idBuilding ?>" href="#"><img width="16" height="16" src="/images/icons/fugue/plus-circle-blue.png"></a> 
<a class="link" data-url="edit" id=editUnit" href="idBuilding/<?= $this->idBuilding ?>" href="#"><img width="16" height="16" src="/images/icons/fugue/plus-circle-blue.png"></a> 


$(document).ready(function() { 

    var url; 

    // ADD 
    $(".link").click(function(event){ 
     event.preventDefault(); // link is not executed 

     url = '/unit/' + $(this).data('url') + '/' + $(this).attr('href'); 

     $.ajax({ 
      url: url, 
      type: 'GET', 
      success: function(data) { 
       $("#tabUnits").html(data); 
      }, 
      error: function(){ 
       alert('An error occurred, please check before continue...'); 
      } 
     }); 

    }); 

}); 

データパラメータについての詳細::(テストしていない)のようなものhttp://api.jquery.com/data/#data-html5

+0

はあなたに多くのことを感謝しようとしているものを手に入れるカント、あなたが私の一日保存;) – cwhisperer

関連する問題