1

何よりも、英語で間違いがあったら大変申し訳ありません。

<select id="listserver">
    <option value="http://radio.xx.net/live/128">Vietel - 128 kbps</option>
    <option value="http://radio.xx.net/live/64">Vietel - 64 kbps</option>
    <option value="http://123.30.xx.xx:8000/live/128">VNPT - 128 kbps</option>
    <option value="http://123.30.xx.xx:8000/live/64">VNPT - 64 kbps</option>
    <option value="http://210.245.xx.xx:8000/live/128">FPT - 128 kbps</option>
    <option value="http://210.245.xx.xx:8000/live/64">FPT - 64 kbps</option>
</select>

このようにラジオを聞くサーバーを選択するコードがあります。ここで、3台のサーバーとの帯域幅のバランスを取り、デフォルトで128kbpsの品質を実現したいと考えています。

私はこのリンクを読みました、そしてそれは私がこれをするのを助けることができます。

4

2 に答える 2

0

各オプションタグにIDを追加します。

<select id="listserver">
    <option id="1" value="http://radio.xx.net/live/128">Vietel - 128 kbps</option>
    <option id="2" value="http://radio.xx.net/live/64">Vietel - 64 kbps</option>
    <option id="3" value="http://123.30.xx.xx:8000/live/128">VNPT - 128 kbps</option>
    <option id="4" value="http://123.30.xx.xx:8000/live/64">VNPT - 64 kbps</option>
    <option id="5" value="http://210.245.xx.xx:8000/live/128">FPT - 128 kbps</option>
    <option id="6" value="http://210.245.xx.xx:8000/live/64">FPT - 64 kbps</option>
</select>

次に、selected='selected'または単にselectedを選択したいオプションに割り当てることができます。JavascriptとJQueryを使用して、1から3までの乱数を生成できます。

<script>
    var num = Math.floor((Math.random()*3)+1); 

最後に、選択した属性をランダムに選択したオプションに追加します。

    if(num == 1){
        $('#1').attr('selected', 'selected');
    }elseif(num == 2){
    etc....

</script>

これが十分に明確であることを願っています:)

于 2013-01-21T03:42:14.343 に答える
0

デフォルトのアイテムの配列を保持し、それらのみを選択できます。この場合、128 kbpsのアイテムはインデックス0、2、および4にあります。

var defaultItems = [0,2,4]
var select = document.getElementById('listserver');
var index = Math.floor(Math.random() * defaultItems.length);

select.selectedIndex = defaultItems[index];

JSFiddleの例

于 2013-01-21T03:42:57.127 に答える