フォームに 2 つの HTML 選択があります。最初のものは呼び出されavailable
、いくつかのオプションが含まれています。
<select name="sortedby" multiple="multiple">
<option value="start">
<xsl:if test="@sortedby='start'">
<xsl:attribute name="selected">true</xsl:attribute>
</xsl:if>
Start time
</option>
<option value="thread_id">
<xsl:if test="@sortedby='thread_id'">
<xsl:attribute name="selected">true</xsl:attribute>
</xsl:if>
Thread Id
</option>
<option value="user_name">
<xsl:if test="@sortedby='user_name'">
<xsl:attribute name="selected">true</xsl:attribute>
</xsl:if>
Username
</option>
</select>
2 番目が呼び出さyourselection
れ、最初は空です。
<select name="sortedby_target" multiple="multiple">
</select>
選択したオプションを から削除してavailable
に移動するボタンがありますyourselection
。
このボタンは、使用できるが変更できないライブラリから JavaScript 関数を呼び出します。
基本的には問題なく動作します。ただし、ちょっとした不便があります。ユーザーが から に 1 つまたは複数のオプションを移動するavailable
とyourselection
、それらはデフォルトでは「到着時に」選択されません。そのため、現在、ユーザーは でオプションを選択して にavailable
移動しyourselection
、再度 で手動で選択してからyourselection
フォームを送信する必要があります。
私が望むのは、到着したものはすべてyourselection
デフォルトで選択済みとしてマークする必要があるということです。何か案は?
アップデート!すべての要素を選択できる関数があります:
function selectAllOptions(obj) {
if (!hasOptions(obj)) { return; }
for (var i = 0; i < obj.options.length; i++) {
obj.options[i].selected = true;
}
}
しかし、問題はそれをどのように呼び出すかです。そのため、別のボタンを追加したくありません。
onfill
selectに似たようなものがあるはずです。