私は同じ記事を見て、この属性が公式仕様の一部ではないことを読んで驚きましたがdata
、ブログ投稿からの情報に依存する場合、それは予想されることだと思います.
とにかく、私はその実装が気に入ったので、それを機能させる JavaScript 関数を作成することにしました。
window.addEventListener( 'load', function( ) {
var dataList = document.getElementById( 'myDataList' );
getDataList( dataList, dataList.getAttribute( 'data' ) );
} );
function getDataList( dataList, dataFile )
{
var http = new XMLHttpRequest( );
var options, parser, xml;
http.onreadystatechange = function( )
{
if( http.readyState == 4 && http.status == 200 )
{
if( window.DOMParser )
{
parser = new DOMParser( );
xml = parser.parseFromString( http.responseText, "text/xml" );
}
else
{
xml = new ActiveXObject( "Microsoft.XMLDOM" );
xml.async = false;
xml.loadXML( http.responseText );
}
options = xml.getElementsByTagName( 'option' );
for( var i = 0; i < options.length; i++ )
{
var option = document.createElement( 'option' );
option.value = options[i].value;
dataList.appendChild( option );
}
}
}
http.open( "GET", dataFile, true );
http.send( );
}