0

この質問は以前にもありましたが、ほとんどの回答は HTML5 に関するものです。

私のDOCTYPEは:

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

select のオプション値にデータ (電話ダイヤル コード) を添付する必要があります。

<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 に基づいてデータを設定する - これには、選択のすべてのオプションに ID を指定する必要があります。
  • さらに提案はありますか?
4

1 に答える 1

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> 
于 2013-04-18T10:19:48.857 に答える