2015-10-17 47 views
0

我已將頁面分爲兩部分。在左邊我回顯所有帶鏈接的結果,右邊我想通過任何時候使用Jquery Ajax單擊任何鏈接來顯示結果。動態添加eventlistner使用Jquery Ajax動態頁面laravel

我的刀片代碼...

<div id="left" > 
<ul> 

@foreach($url_data as $url) 

    <input type="hidden" name="url_hits_id" value="{{url('dashboard'.'/'.$url->id)}}"> 
<li> 
    <a class="show_hits"> 
     <p>{{$url->url}} </p> 
     <p> {{'http//ucut.herokuapps.com/'.$url->key}}</p><br><hr> 

    </a> 
</li> 

@endforeach 

</ul> 

<div id ="right" style="float:left"> 

</div> 

我jQuery代碼是....

$(document).ready(function(){ 

var url = $('input[name=url_hits_id]').val(); 


$('.show_hits').click(function(){ 
    $.get(url,function(response){ 
      $('#right').html(response); 
    }); 
    }); 


}); 

我想顯示通過AJAX的結果。我的選擇器有一個問題。它只顯示第一個<li>元素的結果,並非全部....我還希望在任何時候點擊任何<li>標記我希望每個標記的結果。我已經單獨檢查了所有頁面(沒有Ajax)。所有工作都很好。

+0

因爲所有的輸入具有相同的'name =「url_hits_id」',並且當您使用jQuery選擇器選擇其中一個時,第一個點擊事件發生。 – Ali

+0

但我正在動態更改url_hits_id,並且它在刀片中發生更改。請告訴我如何動態選擇 – Vikash

回答

0

更改您的刀片是這樣的:

@foreach($url_data as $url) 

<input type="hidden" value="{{url('dashboard'.'/'.$url->id)}}"> 
<li> 
    <a class="show_hits" onclick="submit({{url('dashboard'.'/'.$url->id)}});"> 
     <p>{{$url->url}} </p> 
     <p> {{'http//ucut.herokuapps.com/'.$url->key}}</p><br><hr> 
    </a> 
</li> 

@endforeach 

<div id ="right" style="float:left"></div> 

然後在您的JS:

$(document).ready(function(){ 
    function submit(url){ 
     $.get(url,function(response){ 
      $('#right').html(response); 
     }); 
    } 
}); 

我沒有測試,但我認爲它應該工作。 讓我知道它是否有效:)

+0

否其顯示在參數列表後的錨標記行「抓住SyntaxError:缺少」的錯誤。 – Vikash