###前提・実現したいこと
jQueryUIのsortable()を利用して入れ替え可能なリストを作成(ゲーム制作に使うための雛形)しています。
入れ替えが完了したタイミングでidの配列を作り、指定の順番「21345」になっていればコンソールに「正解」のメッセージを出したいです。
ですが入れ替え直後は配列が「12undefined345」「125undefined34」というようになってしまい、うまく分岐させることができませんでした。
初歩的なことかもしれませんがよろしくお願いします。
###該当のソースコード
<body> <ul id="jquery-ui-sortable"> <li class="ui-state-default" id="1">項目名 A</li> <li class="ui-state-default" id="2">項目名 B</li> <li class="ui-state-default" id="3">項目名 C</li> <li class="ui-state-default" id="4">項目名 D</li> <li class="ui-state-default" id="5">項目名 E</li> </ul></body><script src="tyrano/libs/jquery-3.2.1.min.js"></script> <script src="tyrano/libs/jquery-ui.min.js"></script> <script> jQuery('#jquery-ui-sortable').sortable(); $('#jquery-ui-sortable').mouseup(function() { var IDs = ''; $('#jquery-ui-sortable li').map(function() { IDs += $(this).attr("id"); }); console.log(IDs); if (IDs == '21345') { console.log('正解'); } }); </script>
###試したこと
・if分岐の条件にindexOfを使って「〜を含む」という分岐条件→目的以外の条件でもtrueになってしまう
・$(function(){});で囲むことで実行タイミングをずらす→成果なし
###補足情報(言語/FW/ツール等のバージョンなど)
jQuery 3.2.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/26 00:37