0

我有一个这样的链接列表:

<li><a href="landing.php?products=IPCamera&id=1">IP Camera 1</a></li>
<li><a href="landing.php?products=IPCamera&id=2">IP Camera 2</a></li>
<li><a href="landing.php?products=CCTVCamera&id=1">CCTV 1</a></li>

以及以下示例 php 代码:

// PRODUCTS AND ID IS DYNAMICALLY PRODUCE FROM PHP QUERY
$sql = "SELECT * FROM tablename";
$result = mysql_query($sql); //
foreach($result as $field) {
   $listlink = "landing.php?products=".$field[products]."&id"=$field[id];
   $output = "<li><a href=\"$listlink\">".$field[menuname]."</a></li>";
}
echo $output; // THIS IS THE RESULT OF LIST OF LINK ABOVE

我的问题是如何使 products 和 id 的值成为 javascript 变量并将其传递给 jquery ajax 以调用 php 处理器。

谢谢

4

5 回答 5

1

您可以使用数据属性并使用 jQuery.data() 函数通过 jquery 访问它们。

$sql = "SELECT * FROM tablename";
$result = mysql_query($sql); //
foreach($result as $field) {
   $listlink = "landing.php?products=".$field[products]."&id"=$field[id];
   $output = "<li><a data-products=\"$field[products]\" data-id=\"$field[id]\"  href=\"$listlink\">".$field[menuname]."</a></li>";
}

js部分会是这样的

$("a").click(function() {
   var id = $(this).data('id');
   var products = $(this).data('products');
   var url = $(this).attr('href');

   // your ajax request goes here
});
于 2013-08-06T01:45:13.407 回答
0

您可以在 PHP 中将 products 列的所有值放在一行中,然后使用 json_encode() 将数组 json 编码发送到 javascript。只是一个如何做到这一点的例子。

<html>
<head>
<script type="text/javascript">
var productValueArray = <?php

               $outputArray = array();
               $sql = "SELECT * FROM tablename";
               $result = mysql_query($sql); //
               foreach($result as $field) {
                  array_push($outputArray, $field[menuname]);
               }
               echo json_encode($outputArray);

                        ?>

    </script>
    </head>
    <body>
    </body>
</html>
于 2013-08-06T02:59:06.870 回答
0

使用location.search获取当前位置的查询部分,然后提取要使用的字段。

于 2013-08-06T01:24:48.393 回答
0

如果您谈论的是products.php基于 URL 中的productsid在此页面上运行的代码:

<script type="text/javascript">

var params = {}, queryString = location.search.substring(1),
    re = /([^&=]+)=([^&]*)/g, m;

while (m = re.exec(queryString)) {
    params[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
}

//now params is an object containing all the query string parameters from the URL
do_your_ajax_thing(params[id], params[products]);

</script>
于 2013-08-06T01:27:10.150 回答
0
var urlArgs = location.search,
    products = urlArgs.substring(urlArgs.indexOf("=") + 1, urlArgs.indexOf("&")),

对于 id,您也可以使用 substring() 或 split() 方法并进行字符串操作。

于 2013-08-06T06:49:00.710 回答