反復< select> jQuery + Multi Selectの使用
-
22-07-2019 - |
質問
これは、考えられるほど単純ではありません。 jQuery MultiSelect という名前のプラグインと複数の&lt ;選択>次のようにXSLTを使用するオプション:
<xsl:for-each select="RootField">
<select id="{RootField}" multiple="multiple" size="3">
<option value=""></option>
<xsl:for-each select="ChildField">
<option value="{ChildField}"><xsl:value-of select="ChildField"/></option>
</xsl:for-each>
</select>
</xsl:for-each>
付随するJavaScriptは次のとおりです。
var selects = document.getElementsByTagName("select");
$.each(selects, function() {
$(this).multiSelect();
});
これにより、multiSelect()を適用できます。すべての単一の&lt; select&gt;ページで。
動作は非常に奇妙です。他のすべての&lt; select&gt;ドロップダウンリストに変更されています(とにかくすべて偶数)。 JavaScriptでこの問題が発生することはありませんが、すべての問題が繰り返されるため、この問題が発生することはありません。より明確にするために、JavaScriptが適用されているリストは、位置2、4、6、および8(ページにある9つのうち)にあるものだけです。
アイデアはありますか
解決
「ハロウィーンの問題」タグを聞いたことはなかったが、ロバートは正しいかもしれない。
getElementsByTagNameから返されるノードリストは動的です。つまり、追加または削除(この場合はselect)は、作成後にノードリストを変更します。
試用
//hoping for magic here
$('select').multiSelect();
または
$('select').each( function() {
$(this).multiSelect();
});
他のヒント
ハロウィーンの問題のような音( http:// blogs .msdn.com / mikechampion / archive / 2006/07/20 / 672208.aspx ))をmultiSelectで使用していますが、multiSelectがわからないため、確実に言うことはできません。
これを試してください:
jQuery('select').each(function(){selectAll(this.id)});
所属していません StackOverflow