私はiPadアプリに取り組んでおり、jqueryコードの場合、コードは1000行を超えています。コードが短くなることがわかっているので、ループを機能させるためにテストページを作成します。2 つのテスト ページと同じコードがありますが、1 つのみでしか機能しません。
作業ページ:
<div class="p1hole1"></div>
<div class="p1hole2"></div>
<div class="p1hole3"></div>
<div class="p1hole4"></div>
<div class="p2hole1"></div>
<div class="p2hole2"></div>
<div class="p2hole3"></div>
<div class="p2hole4"></div>
<div class="p3hole1"></div>
<div class="p3hole2"></div>
<div class="p3hole3"></div>
<div class="p3hole4"></div>
<script type="text/javascript">
(function () {
for(p=1; p<4; p++){
for ( i=1; i<5; i++){
$(".p" + p + "hole" + i).html("class= 'p" + p + "hole" + i + "'");
}
}
})();
</script>
および動作しないコード:
<div>
<select class="parhole1">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</div>
<div>
<select class="p1hole1">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</div>
<div class="p1hole1type"></div>
<div class="p1hole2"></div>
<div class="p1hole3"></div>
<div class="p1hole4"></div>
<div class="p2hole1"></div>
<div class="p2hole2"></div>
<div class="p2hole3"></div>
<div class="p2hole4"></div>
<div class="p3hole1"></div>
<div class="p3hole2"></div>
<div class="p3hole3"></div>
<div class="p3hole4"></div>
<script type="text/javascript">
(function () {
for(p=1; p<4; p++){
for ( i=1; i<5; i++){
$(".p" + p + "hole" + i).change(function () {
n = $(".p" + p + "hole" + i + "option:selected").val();
r = $(".parhole" + i + "option:selected").val();
if (n == 1) {
$(".p" + p + "hole" + i + "type").html("Hole N One");
}else {
$(".p" + p + "hole" + i + "type").html("Try agian");
}
});
}
}
})();
</script>
では、なぜ一方が機能するのに他方が機能しないのでしょうか。これを解決できれば終了し、コードを 400 行以上に短縮できます。