HTMLには次のような非常に単純な要素があります。
<select multiple="multiple" size="19" name="Title[book_types_array][]" id="Title_book_types_array">
<option value="0">None Selected</option>
<option value="1" selected="selected">Textbook School</option>
<option value="2">Textbook Undergraduate</option>
</select>
そして、私は魔法のようにシングルクリックの複数選択を可能にするJQueryを少し持っています:
$('select[multiple] option').click(function(e){
var self = $(this);
e.preventDefault();
if (self.attr('selected'))
self.removeAttr('selected');
else
self.attr('selected', 'selected');
});
そして、これはFirefoxでうまく機能しますが、Chromeでは機能しません。
技術的にはChromeで動作しますが、要素は更新されません。例として、2つのオプションを選択してから選択を解除しても、選択済みとして表示されます。ただし、要素で新しいオプションを選択すると、以前に選択を解除した2つの要素が正しく更新され、選択が解除されます。また、別のウィンドウをクリックしてからもう一度戻ると、要素が更新されます。
これは、この要素を持つChromeのある種のバグですか、それとも私が見逃しているものがありますか?
編集
コンソールを見ると、選択した属性がどのように削除されているかがわかりますが、要素が更新されていないだけです。
追加された例:http://jsfiddle.net/Udf5c/