如何将PHP数组传递给jQuery函数?

时间:2012-07-06 19:08:29

标签: php javascript jquery

我有一个jQuery函数可以打开一个模态弹出窗口,我在同一个文件中有一个PHP中的变量,如$url="iteminfo.php?ID=".$i['itmid'];$i['itmid']是来自MySQL的一些产品的id)。 jQuery函数如下所示:

<script type="text/javascript">

  $(document).ready(function(Surl) {

    var source="iteminfo.php?ID=<?echo $i['itmid']?>";
    var width = 920;
    var align = "center";
    var top = 100;
    var padding = 10;
    var backgroundColor = "#FFFFFF";
    var borderColor = "#000000";
    var borderWeight = 4;
    var borderRadius = 5;
    var fadeOutTime = 300;
    var disableColor = "#666666";
    var disableOpacity = 40;
    var loadingImage = "js/popup/loading.gif";

    $(".modal").click(function() {

        modalPopup( align,
            top,
            width,
            padding,
            disableColor,
            disableOpacity,
            backgroundColor,
            borderColor,
            borderWeight,
            borderRadius,
            fadeOutTime,
            source,
            loadingImage );

    }); 

    $(document).keyup(function(e) {
        if (e.keyCode == 27) {
            closePopup(fadeOutTime);
        }
    });

  });

</script>

它会打开相应的链接,但该函数会像循环一样打开所有链接。如何将$url传递给jQuery函数以打开相应产品的相应链接?

2 个答案:

答案 0 :(得分:2)

对于初学者来说,它看起来更像是这样,但是如果没有看到你的HTML代码,很难说你将如何用ID来提取每个不同对象的ID。

  <script type="text/javascript">

    $(document).ready(function(Surl) {


      var source="iteminfo.php?ID=";
      var width = 920;
      var align = "center";
      var top = 100;
      var padding = 10;
      var backgroundColor = "#FFFFFF";
      var borderColor = "#000000";
      var borderWeight = 4;
      var borderRadius = 5;
      var fadeOutTime = 300;
      var disableColor = "#666666";
      var disableOpacity = 40;
      var loadingImage = "js/popup/loading.gif";


      $(".modal").click(function() {

        //get the id of what you're opening on each click event.
        var myid = ...

          modalPopup( align,
              top,
              width,
              padding,
              disableColor,
              disableOpacity,
              backgroundColor,
              borderColor,
              borderWeight,
              borderRadius,
              fadeOutTime,
              source + myid,
              loadingImage );

      }); 


      $(document).keyup(function(e) {
          if (e.keyCode == 27) {
              closePopup(fadeOutTime);
          }
      });

    });

  </script>

答案 1 :(得分:0)

你是否说过当你点击元素.modal时,正确的模态出现了好的内容?

你在'打开所有这些功能'中的'他们'是什么意思?

也许你应该看看'modalPopup'功能。

您可以将每个.modal元素的相应url存储为具有浏览数组的php循环的属性。