1

我正在尝试通过 MySQL/PHP 和 jQuery 读取和显示菜单及其内容。我已检索菜单名称并在页面上正确显示。

  $select_service_name = "SELECT serv_name FROM services";
    $query =  $conn->query($select_service_name);

foreach ($query->fetchAll(PDO::FETCH_COLUMN) as $row) {
    echo '<li><a href="#">'. $row; '</a></li>';
 } 

但现在我想填写服务描述,显示读入的第一个,但将其余部分存储在具有

 display: none;

因此,我可以使用 jQuery UI 来隐藏/显示服务描述,具体取决于用户单击的服务。

关于如何实现这一目标的任何建议?

谢谢你。

我有一个菜单:

ServiceName1 | ServiceName1 Description
ServiceName2 |
ServiceName3 |

等,并使用 jQuery .show() .hide() 我希望能够根据单击的 servicename# 显示它们的每个描述。如何使用从 MySQl 表中读取的描述来执行此操作?

4

2 回答 2

1

做这样的事情:PHP:

foreach ($query->fetchAll(PDO::FETCH_COLUMN) as $row) {
   echo '<li class="row"><a href="#">' . $row . '</a><span class="description">' . $description . '</span></li>';
} 

CSS:

.description{
  display: none;
}

jQuery:

$(document).ready(function() {
  $(".row a").click(function(e) {
    e.preventDefault();
    $(".description").hide();
    $(this).parent("li").find(".description").show();
   });
});

http://jsfiddle.net/jdfqS/2/

你也不需要 jQuery UI 来做这个 .. 只是 jQuery

于 2013-03-16T22:46:00.513 回答
0

我建议使用 JSON 将数据存储在数据属性中。在 PHP 中,将您需要的数据放入对象或数组中。然后使用json_encode将其格式化为 JSON 字符串:

<div data-example='<?php echo json_encode($data); ?>'></div>

您可以通过JSON.parsejQuery.parseJSON检索数据:

$('[data-example]').each(function() {
    var data = $(this).attr('data-example');
    if (data) { 
        data = $.parseJSON(data);
    }
    // ...
});
于 2013-03-16T23:05:38.780 回答