AJAX形式问题

时间:2011-09-12 06:26:40

标签: php mysql ajax

我的javascript如下:

<script type="text/javascript">
    function lookup(inputString) {
        if(inputString.length == 0) {
            $('#suggestions').hide();
        } else {
            $.post("./index.php?menu=getmyFavList&ajax=ajax"
                   , {queryString: ""+inputString+""}
                   , function(data){
                if(data.length >0) {
                    $('#suggestions').show();
                    $('#autoSuggestionsList').html(data);
                }
            });
        }
    }

    function fill(thisValue) {
        $('#inputString').val(thisValue);
        setTimeout("$('#suggestions').hide();", 200);
    }
</script>

我相应的php代码是

$sql = "SELECT 
               u.UM_index
               , u.UM_first_name
               , u.UM_last_name
               , p.bz_pro_city
               , p.bz_pro_country
          FROM
               tbl_user_master As u
               , tbl_profile AS p
         WHERE
               u.UM_index = p.bz_pro_id
           AND
               UM_first_name LIKE '%" . $q . "%'
           AND
               UM_is_active = 'yes'                     
        ";
    $res = mysql_query($sql) or die("unable to execute query");

    while($row = mysql_fetch_array($res))
    {
        echo '<li onClick="fill(\''.$row['UM_first_name']
             . ' ' . $row['UM_last_name'] . '\');">'
             . $row['UM_first_name']
             . ' ' . $row['UM_last_name']
             . ',' . $row['bz_pro_city']
             . '</li>';
    }

HTML for就像:

<input type="text" name="reciever_name" size="37" id="inputString" onkeyup="lookup(this.value)" onblur="fill()" />

现在我的问题是我需要传递index中所选用户的tbl_user_master。我该怎么做(当然隐藏发件人的索引)?

1 个答案:

答案 0 :(得分:1)

为什么不将index放在<input type="hidden">中并将其添加到querystring

修改 您需要做的是改变用户选择项目时发生的事情。

while中,您需要将echo更改为

echo "
    <li onclick=\"fill('{$row['UM_first_name']} {$row['UM_last_name']}'
                       , '{$row['UM_index']}')\">
        {$row['UM_first_name']} {$row['UM_last_name']}, {$row['bz_pro_city']}
    </li>"

并将JavaScript fill功能更改为

function fill(thisvalue, thisid){
    $('#inputString').val(thisValue);
    $('#selectedID').val(thisid);
    setTimeout("$('#suggestions').hide();", 200);
}

您还需要添加

<input type="hidden" name="thisid" id="thisid" value=""/>

提交表单后,您可以使用$_POST['thisid']

访问所选项目的ID