首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字符串作为参数传递给函数onclick事件jquery

将字符串作为参数传递给函数onclick事件jquery
EN

Stack Overflow用户
提问于 2016-05-05 11:17:39
回答 4查看 650关注 0票数 0

我想寻求帮助,因为我在使用for创建按钮时遇到了问题,并在onclick中放入带有参数的函数的名称,但这个参数是一个字符串,我得到了一个数组,循环结束所有按钮都有数组的最后一个元素的名称,而不是数组的每个位置。提前感谢你的帮助..

代码语言:javascript
运行
复制
    <!DOCTYPE html>
 <html>
 <head>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
 <script>
 function enviar(periodo){
 alert(periodo);
 }

 </script>
 </head>
 <body>
 <?php
 $formatos=
  array(array('idPeriodo'=>'pp2019'),
      array('idPeriodo'=>'pp2018'),
      array('idPeriodo'=>'pp2017'),
      array('idPeriodo'=>'pp2016'));

  for($l=0; $l< count($formatos); $l++){
 ?>
  <button onclick="enviar(<?php echo json_encode($formatos[$l]['idPeriodo'])?>)">Guardar</button>
<?php
      }
?>

</body>
</html>
EN

回答 4

Stack Overflow用户

发布于 2016-05-05 11:22:57

你会得到数组的最后一个元素,因为你每次都会重新定义per变量。使用以下代码:

代码语言:javascript
运行
复制
<?php
$formatos=
    array(array('idPeriodo'=>'pp2019'),
          array('idPeriodo'=>'pp2018'),
          array('idPeriodo'=>'pp2017'),
          array('idPeriodo'=>'pp2016'));
for($l=0; $l< count($formatos); $l++){
    $param = json_encode($formatos[$l]['idPeriodo']);
    $param = addslashes($param);
    ?>
          <button onclick="enviar(<?php echo $param; ?>)">Guardar</button>
          <?php
          }
?>
票数 0
EN

Stack Overflow用户

发布于 2016-05-05 11:30:26

您已经有了一个PHP循环,所以javascript位是无用的。试试这个:

代码语言:javascript
运行
复制
<?php     
for($l=0; $l< count($formatos); $l++){
    $per = json_encode($formatos[$l]['idPeriodo']);
?>
<button onclick="enviar('<?= $per ?>')">Guardar</button>
<?
}
?>
票数 0
EN

Stack Overflow用户

发布于 2016-05-05 11:38:35

你有什么理由想要它json_encode吗?这是可行的。试试这个:

编辑

代码语言:javascript
运行
复制
 <?php
   $formatos=    
   array(array('idPeriodo'=>'pp2019'),
   array('idPeriodo'=>'pp2018'),
   array('idPeriodo'=>'pp2017'), 
   array('idPeriodo'=>'pp2016'));


    for($l=0; $l< count($formatos); $l++){   


    $periodo = $formatos[$l]['idPeriodo'];        
   ?>
     <button onclick="enviar('<?php echo $periodo; ?>')">Guardar</button>      
   <?php
      }   
   ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37041733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档