2016-07-13 11 views
-1

私は、foreachループを持つリストを持っています。ボタンをクリックします。データベースのレコードを表示したいです。laravel 5.2

<ul> 
    <?php $i = 0?> 
    @foreach ($cards as $card) 
     <li id="{{$i}}"><a href="#">{{$card->title}}</a></li> 
     <?php $i = $i + 1; ?> 
    @endforeach 
</ul> 

idに基づいて、私はそのカードのIDを表示したいリンクをクリックするとカード - > idを表示したいと思います。

<script> 
    var myvar='<?php echo json_encode($cards);?>'; 

    alert(myvar); 
    for(var i=0;i<myvar.length;i++) 
    { 
     $("#"+i).click(function() { 
      alert(myvar); 
     }) 
    } 

</script> 
+0

どこに名前を表示したいですか?あなたはあなたのプロジェクトでjavascript/jqueryを使用できますか?追加情報を追加して、必要なものを正確に強調してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。 –

+0

自分のプロジェクトでjqueryを使用する必要があります。私はそれを単純なdivの隣に表示する必要があります。 – user3353610

+0

あなたのコントローラーコードと名前を表示する場所の 'div'を含む完全なビューコードを追加しようとしました。 –

答えて

0

あなたはすでにあなたのforeachループ内のデータは、我々だけで、すべてのリンクの次のdiv内のユーザー名を非表示になりますフェッチので、リンク上のユーザーのクリックが、私たちが持っていないときに我々はそれを表示しますユーザーがクリックするたびにデータベースに接続します。

あなたはあなたのリンクmy-linkにクラスを追加し、あなたのビューに名前.nameを表示したい場所のdivを追加する必要があります。

ビューコード:

<ul> 
    @foreach(User:all() as $user) 
     <li> 
      <a href='' class='my-link'>{{$user->id}}</a> 
      <div class='name' style="display: none">{{$user->name}}</div> 
     </li> 
    @endforeach 
</ul> 

付けるjavascriptのコードを追加します。 clickイベントをクラスmy-btnのボタンに割り当てます。

JSコード:

$(function(){ 
    $('body').on('click', 'my-link', function(e){ 
     e.preventDefault(); 

     $(this).parent().find('.name').show(); 
    }) 
}) 

注:あなたのコードでjQueryライブラリを含めていることを確認してください。

これが役に立ちます。

+0

私はforeachの代わりにuser-> nameを表示する必要があります。オブジェクトのユーザーをjavascriptオブジェクトにロードし、ループする必要があります。しかし、私は方法はわかりません。 – user3353610

+0

foreachループの外側に問題があります。 – user3353610

関連する問題