選択の 1 つのオプションに応じて、オプションのリスト全体を変更する必要があるユーザースクリプトがあります。Opera ではこのスクリプトは正常に動作しますが、Chrome では動作しません (はい、jQuery が利用可能です)。
HTML:
<select id="autoConfig-gametype" style="width: 100%;">
<option value="1" selected="">1. [RECOMMENDED] All latest Game-settings, Paladin, archers, simple tech smithy</option>
<option value="2">2. No paladin, archers, simple tech system [TWMASTERS Settings]</option>
<option value="3">3. No paladin, no archers. Packages, 3 lvl tech-system. [CLASSIC]</option>
</select>
<select name="game::tech">
<option value="0">0: 10 level</option>
<option value="1">1: 3 level (up to 15)</option>
<option value="2" selected="selected">2: Simple</option>
</select>
jQuery では と を使用attr
しprop
ましたが、どちらも Chrome では結果が得られません。操作が必要な選択は変更されません。
jQuery:
$("#autoConfig-gametype").change(function()
{
var value = $(this).val();
switch(value)
{
case "1":
// Game > Tech
$("[name='game::tech'] option").removeProp("selected");
$("[name='game::tech'] option").removeAttr("selected");
$("[name='game::tech'] option:eq(0)").attr("selected",true);
$("[name='game::tech'] option:eq(0)").prop("selected",true);
break;
case "2":
// Game > Tech
$("[name='game::tech'] option").removeProp("selected");
$("[name='game::tech'] option").removeAttr("selected");
$("[name='game::tech'] option:eq(1)").attr("selected",true);
$("[name='game::tech'] option:eq(1)").prop("selected",true);
break;
case "3":
// Game > Tech
$("[name='game::tech'] option").removeProp("selected");
$("[name='game::tech'] option").removeAttr("selected");
$("[name='game::tech'] option:eq(2)").attr("selected",true);
$("[name='game::tech'] option:eq(2)").prop("selected",true);
break;
}
});
Chrome のみを使用する人向けにこのスクリプトを作成しているため、現在ここで立ち往生しています。