0

これを使用して、検索語に一致するアイテムのリストを返します。

if (mysql_num_rows($result) > 0){
    while($row = mysql_fetch_object($result)){
        $string .= "<br><b>".$row->container."</b>"."  --- ";
    $string .= "  yard: ".$row->lot."";
    $string .= "  -- latitude: ".$row->lat."";
    $string .= "  -- longitude: ".$row->lng."<br />";
        $string .= "<br/>\n";
    }
}

...そして、これを表示するには...

function ajax_search() {
    $("#search_results").show();
    var search_val = $("#search_term").val();
    $.post("find.php", {
        search_term: search_val
    }, function (data) {
        if (data.length > 0) {
            $("#search_results").html(data);
        }
    })
}
$(document).ready(function () {
    $("#search_results").slideUp();
    $("#search_button").click(function (e) {
        e.preventDefault();
        ajax_search();
    });
    $("#search_term").keyup(function (e) {
        e.preventDefault();
        ajax_search();
    });
});

しかし、緯度と経度をマップに送信できるように、これらのアイテムをクリック可能にする方法に困惑しています。

申し訳ありませんが、私はこれが初めてで、Stackoverflow も初めてです。

4

1 に答える 1

0

サーバー側の構文については確かです。構文上の誤りがあれば修正してください。

各項目を div でラップするなど、結果の html に小さな変更を加えれば簡単です。

$string .= "<div class='item' data-latitude='".$row->lat."' data-longitude='".$row->lng."'><b>".$row->container."</b>"."  --- ";
$string .= "  yard: ".$row->lot."";
$string .= "  -- latitude: ".$row->lat."";
$string .= "  -- longitude: ".$row->lng."<br />";
$string .= "</div>";

それから

$(document).ready(function(){ 
$("#search_results").slideUp(); 
$("#search_button").click(function(e){ 
    e.preventDefault(); 
    ajax_search(); 
}); 

$("#search_term").keyup(function(e){ 
    e.preventDefault(); 
    ajax_search(); 
}); 

$("#search_results").on('click', '.item', function(){
    var $this = $(this);
    var lat = $this.data('latitude');
    var long =$this.data('longitude'); 
    alert(lat + long)
})

}); 
于 2013-04-26T00:34:41.383 に答える