2015-04-19 65 views
-2

我不知道如何可以改變的這本小冊子中的內容,,如何通過JQuery更改<script>的內容?

<script id="pdis"> 
window.onload = function() { 
    var map = L.map('map').setView([-26.40894, -54.67430], 18); 

    L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { 
     attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' 
    }).addTo(map); 

     L.marker([-26.40893, -54.67438]).addTo(map) 
      .bindPopup("<b>eldorado punto de interes</b><br/> tu chichachicha.").openPopup(); 

     L.marker([-26.40896, -54.67403]).addTo(map) 
      .bindPopup("<b>Eldo punto 1</b><br />I am a popup.").openPopup(); 

}; 
</script> 

我試着搜索後更新這些L.markers,像

<?php 

include 'conexion.php'; 

$q=$_POST[q]; 
$con=conexion(); 

$sql="select * from pdi where name LIKE '".$q."%'"; 
$res=mysql_query($sql,$con); 

if(mysql_num_rows($res)==0){ 

echo '<b>No hay sugerencias</b>'; 

}else{ 

echo '<b>Sugerencias:</b><br/>'; 

while($fila=mysql_fetch_array($res)){ 

echo '<img src="logo/'.$fila['id'].'.jpg"></img><br><em>'.$fila['cat'].'</em><br><b>'.$fila['name'].'</b><br>'.$fila['dir'].'<br><a href="msite/'.$fila['id'].'.html" target="_blank">Más...</a>'; 
} 

} 

?> 

首先,我不知道如果我有使用JQuery的text()html()

+1

看起來好像您正在嘗試在文檔被髮送到瀏覽器之前使用php *來更改html的內容。它是否正確?或者,你是否確實試圖在將它發送到瀏覽器之後更改文檔* – enigma

+0

如果您使用php使用它來生成具有正確標記的文檔,則加載後無需在瀏覽器中進行更改。這是不可能的,但任何變量都可以被覆蓋。 –

+0

@enigma傳單地圖的腳本位於城鎮的中心,有一個標記開始,然後是一個搜索文本框,它發送匹配的php代碼,並且我想用相同的mysql更新這些L.markers查詢 –

回答

0

所以我解釋你的問題的方式是,你想更新小冊子地圖上的標記與搜索返回的座標。

爲了做到這一點,您應該更改當前的代碼,將標記存儲在可訪問的變量中。像

var markerA = L.marker([-26.40893, -54.67438]).addTo(map); 
var markerB = L.marker([-26.40896, -54.67403]).addTo(map); 

東西,你可以接着使用

markerA.setLatLng([newLat, newLong]) ; 

newLatnewLong需要通過你的PHP腳本Ajax調用返回改變標誌的座標。 JavaScript的這個看起來像

$.ajax({ 
    url: 'search.php', 
    data: {q: search_query}, 
    success: function(data){ 
    // update a single marker with the first set of returned coordinates 
    markerA.setLatLng([data[0].lat, data[0].long]) ; 
    }, 
    dataType: 'json' 
}); 

和PHP文件search.php看起來類似(從例如改變)

<?php 

include 'conexion.php'; 

$q=$_GET[q]; 
$con=conexion(); 

$sql="select * from pdi where name LIKE '".$q."%'"; 
$res=mysql_query($sql,$con); 

$result = array(); 

while($fila=mysql_fetch_array($res)){ 
    // append lat long coords to result array 
    $result[] = array('lat' => $fila['lat'], 'long' => $fila['long']); 
} 

echo json_encode($result); 

?> 

道歉,如果我犯了一個語法錯誤的任何地方 - 這是應該比實際代碼更全面。

+0

你真是個好人,謝謝你給我新的想法!我不能upvote你的答案呢,但我很感謝 –

+0

@AndresBastias如果上面的帖子已經回答了你的問題,你可以通過點擊投票按鈕旁邊的綠色標記來接受它,但是如果不是,請不要擔心。享受編碼! – enigma