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

巴兹是对的。这不是最佳选择,但也许您别无选择?

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 回答
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 回答