2016-04-25 62 views
0

在我的應用程序中,我需要隱藏一些值,以便稍後用jQuery提取它們。使用什麼HTML元素來保存隱藏值

我有以下的div保持地圖的數據(點擊img後,我想,以顯示與2個標記的地圖):

<div class="map-data"> 
<img src="../map.png"> 
</div> 

爲了做到這一點我需要存儲4個隱藏值( 1_lat, 1_long, 2_lat, 2_long),如:

<label type="hidden" value="56.056180"> 

將正確的隱藏要素是什麼,用於存儲這些值? Labelp還是別的?

+1

一個'data'屬性可以在任何元素上使用。或者,如果你願意,你可以使用'input type =「hidden」'。甚至可以將它放在JavaScript變量中,而不是將其存儲在標記中。真的有很多選擇。 – David

+3

JavaScript? 'config = {lat1:「1234」...' –

+0

使用'input'。例如''。如果它在表單中,則可以在POST或GET中調用該值。 –

回答

2

因爲它似乎你將只能使用這些值的客戶端,即你不會將它們發送回服務器,但使用input元素似乎是錯誤的。

評論已經有兩個非常好的建議,在這裏擴展。


個人如果我需要每個元件數據(數據元素每變化)我會使用data attributes

<div id="sampleMap" data-lat1="0.241" data-lat2="0.56"> 
    ... 
</div> 

<div id="anotherSampleMap" data-lat1="0.87" data-lat2="0.283"> 
    ... 
</div> 

他們可以很容易地訪問。

function configureTheMap(map) 
{ 
    var lat1 = map.dataset.lat1; 
    var lat2 = map.dataset.lat2; 

    ... 
} 

... 

configureTheMap(document.getElementById('sampleMap')); 
configureTheMap(document.getElementById('anotherSampleMap')); 

雖然你應該檢查瀏覽器兼容性。

如果數據全球我會簡單地生成一個JavaScript對象

var coordinates_config = {lat1 : 0.241, lat2 : 0.56}; 

,並相應地使用它

function configureTheMap(map) 
{ 
    var lat1 = coordinates_config.lat1; 
    var lat2 = coordinates_config.lat2; 

    ... 
} 

可以概括這種方法很容易用於每個元素數據如果數據屬性不支持您定位的瀏覽器。

在這兩種情況下,請允許我記住生成標記/代碼時正確轉義的重要性。

3

你應該使用隱藏式用於此目的的輸入框:

<input id='1_lat' type="hidden" value="56.056180"> 

然後,您可以用$("#1_lat").val("22.0")

+0

這篇文章沒有jQuery標籤。最好是提供'document.getElementById(「1_lat」)。value =「22.0」;' – user2867288

+0

@ user2867288 OP明確指出「讓他們稍後被jQuery拾起」 – scrappedcola

0

更新該值可以使用輸入類型=「隱藏」。
參考:w3schools

0

我建議你總是使用INPUT作爲隱藏值。

1

<input id='input_ID' type="hidden" value="whateveryouwant">

在Dreamweaver中,你可以使用它作爲GUI阻力,從PHP工具箱拖放到右側