長いオプションを省略記号として表示したい HTML 選択に問題があります。選択したオプション テキストの長さをチェックする javascript onChange を介してこれを実現できます。N よりも大きい場合は、省略記号付きのテキストに変更します。ここでの問題は、オプションが選択されて省略記号が表示され、再度選択ボックスをクリックすると、元のテキストが省略記号として表示されることです。オプションの元のリストを常に表示し、オプションが選択されている場合にのみ省略記号を実行する必要があります。
私のonChangeコードは次のようになります
if(option[selectedIndex].text.length > N){
var val = option[selectedIndex].text;
option[selectedIndex].text = option[selectedIndex].text.substr(0,N) + "...";
}
これを達成するために私が考えた方法の 1 つは、選択がクリックされるたびに元のリストを更新することでした。残念ながら、私のブラウザは HTML 選択の「クリック」イベントをサポートしていません。私が使っても
event.preventDefault();
DOM はクリック イベントを認識しますが、リストが表示された後にのみ発生するため、目的に反します。私がここでやっていることのような もの
この場合、jQueryを使用できないという大きな制限もあります!
お知らせ下さい!