将循环中的变量值传递给jquery函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将循环中的变量值传递给jquery函数相关的知识,希望对你有一定的参考价值。
我有一些循环使用来自SQlite db的数据,然后我使用bootstrap ul / li和数据库中的数据显示所有数据。
代码是这样的(没有打开和关闭php标签):
$results = $db->query("SELECT * FROM igre WHERE cat = 'slot'");
<div class="container-fluid">
<div class="row">
while($row=$results->fetchArray(SQLITE3_ASSOC))
$game= $row['kod'];
<div class="gallery_product col-xs-6 col-sm-4 col-md-2 col-lg-2">
<span onclick="spremi()">
<i class="fas fa-star fav-icon"></i></span><a href="#" class="tranzicija zacrni"><img src="sample.jpeg"></a>
</div>
</div>
</div>
我定义了变量,如$ game = $ row ['kod'];我在这个循环中工作正常,但问题是当我尝试在jquery函数中使用这个变量值时,我用它来存储数据。
我用来存储数据onclick(spremi)的函数只从上一条记录获取值,而不是从我点击的记录中获取:
<script>
function spremi()
$korisnik = "<?php echo $uid;?>";
$kod = "<?php echo $game;?>";
$.ajax(
url: "prihvati.php",
data: korisnik : $korisnik, igra : $kod,
type: "GET",
dataType: "json",
//on success
success: function(data)
,
error: function()
);
我需要这个功能才能为每个记录工作正常,例如,如果游戏是“ABC”从$ game变量中读取,或者第二个游戏是“TRZ”来保存,依此类推......
答案
将游戏变量传递给javascript函数:
...
<span onclick="spremi('<?=$game?>')">
...
然后在spremi
函数中使用它。
function spremi(game)
$.ajax(
url: "prihvati.php",
data: korisnik : "<?=$uid?>", igra : game,
type: "GET",
dataType: "json",
//on success
success: function(data)
,
error: function()
);
另一答案
问题是您的Javascript代码超出了while
循环。所以你只是编写循环结束时这些变量的最后一个值。
您可以通过让JavaScript函数接受这些值作为输入参数来修复它,并调用函数(在循环中创建)传递相关的值:
PHP / html
$results = $db->query("SELECT * FROM igre WHERE cat = 'slot'");
<div class="container-fluid">
<div class="row">
while($row=$results->fetchArray(SQLITE3_ASSOC))
$game = $row['kod'];
<div class="gallery_product col-xs-6 col-sm-4 col-md-2 col-lg-2">
<span onclick="spremi('<?php echo $uid;?>', '<?php echo $game;?>')">
<i class="fas fa-star fav-icon"></i></span><a href="#" class="tranzicija zacrni"><img src="sample.jpeg"></a>
</div>
</div>
</div>
JavaScript的:
function spremi(korisnik, kod)
$.ajax(
url: "prihvati.php",
data: korisnik : korisnik, igra : kod,
type: "GET",
dataType: "json",
//on success
success: function(data)
,
error: function()
);
注:在您原来的PHP代码中,您没有包含对$uid
的任何引用,所以我假设它在我上面使用它之前填充了某个地方。
以上是关于将循环中的变量值传递给jquery函数的主要内容,如果未能解决你的问题,请参考以下文章
Django Templates — 将模板中的变量值传递给 templatetags 过滤器