这是我的代码。在这里,我想在链接中发送一个id。但它不起作用。
<script>
$("#cat3").on('click',function (e) {
//console.log(e);
var cat_id=document.getElementById('cat').value;
var sub_id=document.getElementById('sub').value;
$.get('/ajax3?cat1_id=' +cat_id + '&sub_id=' + sub_id ,function(data)
{
$('#sub1').empty();
$.each(data,function(index,subcatObj)
{
$('#sub1').append('<li>'+subcatObj.shift+'</li>'+'{{ HTML::linkRoute("routine","click",array($subcatObj->idstudent_academicinfo))}}');
})
});
});
i=0;
</script>
代码在我使用时有效:
$('#sub1').append('<li>'+subcatObj.shift+'</li>'+'{{ HTML::linkRoute("routine","click")}}');
但是当我尝试将ID发送到链接时,该功能无法正常工作。像这样:
$('#sub1').append('<li>'+subcatObj.shift+'</li>'+'{{ HTML::linkRoute("routine","click",array($subcatObj->idstudent_academicinfo))}}');
答案 0 :(得分:0)
我不确定你是否需要将第三个参数放在数组上
{{ HTML::linkRoute("routine", "click", $subcatObj->idstudent_academicinfo) }}
编辑:
我累了所以我没注意主要问题。 你混合了一些PHP和一个异步函数。 因此,您的路径在运行时的页面上始终是相同的
{{ HTML::linkRoute("routine", "click") }} // <a href="/routine">click</a>
所以,如果我们说$subcarObj->idstudent = 4
{{ HTML::linkRoute("routine","click",array($subcatObj->idstudent_academicinfo))}} // <a href="/routine/4">click</a>
所以当你这样做时:
$.each(data,function(index,subcatObj)
$('#sub1').append('<li>'+subcatObj.shift+'</li>'+'{{ HTML::linkRoute("routine","click",array($subcatObj->idstudent_academicinfo))}}');
因此,对于每个循环,您将得到相同的
URL {{ HTML::linkRoute("routine","click",array($subcatObj->idstudent_academicinfo))}} // <a href="/routine/4">click</a>
有一些棘手的解决方案可以解决这个问题。请看一下这篇文章
我希望你能更好地理解你的问题。如果您有任何问题,请告诉我评论:)