質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

483閲覧

js for文をwhile文に書き換えたい。

darichia

総合スコア13

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2018/02/23 08:30

前提・実現したいこと

ボタンをクリックしたら以下のソースコードを実行したいのですが、
break文がきいてないのかクリックしたら動かなくなりました。(無限ループしてる?)

チェックボックスにチェックが入っているか入っていないかの処理です。

発生している問題・エラーメッセージ

ボタンをクリックするとクリックされたまま動かない状態になる。

該当のソースコード

php

1<button class="btcommon" onClick="boxCheck()"> 2 <image type="image" id="deletech" name="deletech" style="vertical-align:initial;" src="{{ asset('img/delete.png') }}" value="削除"> 3</button> 4 5$count = 1; 6foreach($data as $val) { ?> 7 <tr align="left"> 8 <td align="center"> 9 <input type="checkbox" name="deletecheck" id="deletecheck{{ $count }}" value="editData({{ $val->id }});"> 10 </td> 11<?php $count++; }} ?>

Javascript

1function boxCheck(){ 2 var chkflag = false; 3 var count = 1; 4 while ($('#deletecheck' + count)[0]) { 5 $('#deletecheck' + count).prop('checked'); 6 if($('#deletecheck').prop('checked')){ 7 alert(count + "が選択されました。"); 8 chkflag = true; 9 break; 10 } 11  } 12 if(!chkflag){ 13 alert( "チェックボックスにチェックを入れてください。" ); 14   } 15}

補足情報

以下のfor文はできたのにwhile文に書き換えたらできなくなりました。

for

1var flag = false; 2 for (var i = 0; i < document.bangumi_s.deletecheck.length; i++) { 3 if (document.bangumi_s.deletecheck[i].checked) { 4 flag = true; 5 alert(document.bangumi_s.deletecheck[i].id+ "が選択されました。"); 6 } 7 } 8 if (!flag) { 9 alert("項目が選択されていません。"); 10 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

「count」のインクリメントが抜けている。

var count = 1; while ($('#deletecheck' + count)[0]) { $('#deletecheck' + count).prop('checked'); if($('#deletecheck').prop('checked')){ alert(count + "が選択されました。"); chkflag = true; break; } count++; // <--- ココが抜けると無限ループ }

投稿2018/02/23 08:38

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

darichia

2018/02/23 09:11

ありがとうございます。単純なことだったんですね!助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問