如何在另一个标记

时间:2016-03-10 09:38:37

标签: php jquery html css ajax

在我的Web应用程序中,我有一个通过查询MySQL生成的选择菜单,我想在其中显示一些供应商的信息。在内部我还需要拥有供应商的ID(这样如果用户点击行而不是显示街道地址),但我不希望向用户显示该ID。这就是我用php尝试过的服务器端:

$value = $value."<p style='display:none;'>".$single["vendor_id"]."</p>";

但它不起作用。为该行生成的HTML是:

<li class="ui-menu-item" id="ui-id-6" tabindex="-1">
    PANNA - LE MUCCHE DI GUGLIELMO - (LATTICINI) - LE MUCCHE 
    <p style='display:none;>1</p> 
    (33.543 Km)
</li>

显示了这一点 enter image description here

这是我从php获得的:

$ris2[] = array(
            "value" => $value,
            "id" => $id,
            "venditore_id" => $single['venditore_id']
);

这是Ajax调用客户端:

$( "#tags" ).autocomplete({
        minLength: 2,
        source: function (request, response) {

            $.ajax({
                url: "http://lainz.softwebsrl.it/ajax/autocompletecibo",
                dataType: "json",
                crossDomain: true,
                type : 'post',
                data:
                {
                    valore: request.term+","+localLocation,
                },
                success: function (data)
                {
                    console.log(data);
                    response(data);
                }
            });
        },

这是Ajax所针对的autocompletecibo.phtml

<?php 
  $data = $_GET;
  $data1 = $_POST;
  json_encode($data);
?>

我真的不知道在哪里检索那个关联数组php ...我只知道数组里面的所有内容都会显示为value元素中的行。

1 个答案:

答案 0 :(得分:0)

如果您无法修改生成的HTML,您可以在将任何侦听器或插件绑定到它之前通过jQuery更改内容:

$('li.ui-menu-item').each(function(i, elm) {
    elm = $(elm);
    var p = elm.find('p');
    elm.data('id', p.text());
    p.remove();
});

然后,所有ID都作为数据属性存储在每个<li>元素中。