这是我的代码
<div class="rating">
@for ($i = 1; $i <= 5; $i++)
@if ($i <= ceil($rating[0]->average))
<i id="{{$i}}" style="cursor:pointer" class="fa fa-star rating"></i>
@else
<i id="{{$i}}" style="cursor:pointer" class="fa fa-star-o rating"></i>
@endif
@endfor
</div>
我的Javascript
<script type="text/javascript">
$('.rating').click(function() {
var id = $(this).attr('id');
$.ajax({
url: "{{url('rating')}}",
type: "POST",
data: { id_artikel: "{{$artikel->artikel_id}}", _token: '{{ csrf_token() }}', value:id},
success: function(response){
alert('Bintang berhasil anda berikan!');
},
error: function(){
alert('Bintang gagal anda berikan!')
}
});
});
</script>
当我点击我得到两次结果。第一个给出了正确的#id;&#39;和其他人给予null。我试着用unbind,但仍然给我两次结果。我也尝试只做一次,但仍然给我两次结果。
答案 0 :(得分:3)
那是因为你在同一个DOM树中有两个元素app.controller('MainCtrl', function($scope, shareService) {
$scope.name = shareService.getData();
shareService.setDataService('dataService2');
$scope.name = shareService.getData();
})
.factory('shareService', function($injector) {
var dataServiceName;
return {
setDataService: function(name) {
dataServiceName = name;
},
getData: function(name) {
return $injector.get(dataServiceName || 'dataService').data;
}
}
})
.factory('dataService', function() { return {data: 'world'} })
.factory('dataService2', function() { return {data: 'world 2'} });
。
我建议将最上面的rating
元素的类重命名为其他内容。