2013-04-18 101 views
0

此問題之前已被問到,但大多數答案都圍繞着HTML5。將數據附加到HTML節點

我的DOCTYPE是:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

我需要的數據(電話區號)附着到選擇的選項值:

<select id="id_creditCardCountry"> 
<option value="ax">Aland Islands - AX</option> 
<option value="al">Albania - AL</option> 
<option value="dz">Algeria - DZ</option><!--e.g. Attach dial code "(+213)" --> 
<option value="as">American Samoa - AS</option> 
<option value="ad">Andorra - AD</option> 
<option value="ai">Anguilla - AI</option> 
etc 

似乎有許多辦法可以做到這一點。我需要找到最好的一個(我最好的意思是大多數跨瀏覽器和高效)。

  • jQuery的「數據」功能http://docs.jquery.com/Core/data - 如果這是最好的方法,誰能給出瞭如何在這種情況下使用的指導?
  • 基於元素ID設置數據 - 這涉及到必須爲select中的每個選項都提供一個id。
  • 更多建議?
+2

可能是這可以幫助你 Darshan

回答

1

你可以使用:

$("#id_creditCardCountry option[value='ax']").data("dial-code", "+213"); 

如果所有國家的JS數組和撥號代碼,那麼你可以遍歷所有這些:

for(var i = 1; i <= countryArray.length; i++){ 
    $("#id_creditCardCountry option[value='"+countryArray[i]+"']").data("dial-code", ""+dialCodeArray[i]+""); 
} 

然而,這可如果你已經輸出了一個國家列表,可以考慮做一些服務器端的事情。例如:

<option value="ax" data-dial="+213">Aland Islands - AX</option>