私の問題は、オプションで複数の連続した空白を保持できない HTML ドロップダウン選択から来ています。サンプルのテストケースと結果を次に示します。
"white-space:pre" クラス CSS は、select 要素オプション以外の HTML 要素に対してのみ機能するようです。そのような問題を特定する文献や事例はありますか?
print "<style>.keepwhitespace { white-space: pre }</style>
<p class='keepwhitespace'>abc def</p>
abc def
<br/>
<br/>select and options with keepwhitespace
<select onchange=\"alert('\''+this.value+'\' '+this.value.length)\" class='keepwhitespace'>
<option class='keepwhitespace'>Any </option>
<option class='keepwhitespace'>abc def </option>
<option class='keepwhitespace'> Any </option>
<option class='keepwhitespace'>abc def </option>
</select>
<br/>select with keepwhitespace
<select onchange=\"alert('\''+this.value+'\' '+this.value.length)\" class='keepwhitespace'>
<option >Any </option>
<option >abc def </option>
<option> Any </option>
<option>abc def </option>
</select>
<br/>options with keepwhitespace
<select onchange=\"alert('\''+this.value+'\' '+this.value.length)\">
<option class='keepwhitespace'>Any </option>
<option class='keepwhitespace'>abc def </option>
<option class='keepwhitespace'> Any </option>
<option class='keepwhitespace'>abc def </option>
</select>";
結果は次のようになります。
「p」要素タグ(および私が使用しようとした他のもので見られるように、「空白」CSSスタイルでテキストを適切にフォーマットすることができましたが、selectはそうではありません.
アイテム値の文字列と文字列の長さを表示するための選択時 (長さは 7 ではなく 10 である必要があり、'abc def' の長さは 8 文字です)