2

ここにドロップダウンリストボックスがあります:

<select class="CountrySelectList" name="CountrySelectList" id="CountrySelectList" onchange="self.location='setlocale.aspx?returnURL=Default.aspx&amp;localesetting=' + document.getElementById('CountrySelectList').value" size="1">
    <option value="de-DE">Deutsch</option>
    <option selected="" value="en-US">English</option>
    <option value="fr-FR">Francais</option>
    <option value="it-IT">Italiano</option>
    <option value="es-ES">Español</option>
    <option value="pt-PT">Português</option>
    <option value="cs-CZ">Czech Republic</option>
    <option value="pl-PL">Polska</option>
    <option value="hu-HU">Hungary</option>
</select>

これを箇条書きに変換して、次のように行に表示できるようにするための最良の方法は何ですか:(私の例はddを反映していませんが、アイデアは得られます)

jqueryまたはjavascriptを使用したいですか?

UK | DE | CZ
4

2 に答える 2

1

あなたはこれをすべきではありません。Javascriptはページが読み込まれるたびに実行され、リソースを不必要に浪費します。

新しいマークアップを作成するのにそれほど時間はかかりません。これは、CSSを使用して必要なもののように簡単にスタイル設定できるリンクのリストです。ページにリンクのリストが必要な場合、マークアップにフォーム要素を含めるのはなぜですか?

<ul id="CountrySelectList" class="CountrySelectList">
    <li>
         <a href="setlocale.aspx?returnURL=Default.aspx&amp;localesetting=de-DE">DE</a>
    </li>
    <li>
         <a class="selected" href="setlocale.aspx?returnURL=Default.aspx&amp;localesetting=en-US">US</a>
    </li>
    ...
</ul>

これが簡単なjsFiddleデモです

于 2012-05-17T15:29:59.210 に答える
1

バズは正しいです。最適ではありませんが、選択の余地がないのではないでしょうか。

var countryArr = [];
var $ul = $('<ul />');
countryArr = $('#CountrySelectList option').map(function() {
    return this.value
}).get();
$.each(countryArr, function() {
    $ul.append('<li>' + this.slice(3));
});
$('body').append($ul);

フィドル

于 2012-05-17T15:47:14.487 に答える