2013-04-18 7 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 - если это лучший способ, кто может дать указания о том, как использовать в этом случае?
  • Установить данные на основе идентификатора элемента - это связано с необходимостью указания идентификатора для каждой опции в выборе.
  • Дальнейшие предложения?
+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> 
Смежные вопросы