jquery ifelseステートメントがスキップする

Vzupo

私のifelseステートメントは最初のものだけをチェックしますか?なぜそれが残りの条件をチェックしないのか誰もが知っていますか?-それは残りをスキップします。条件の記述を容易にするために、3つの変数を設定しました。以下はHTMLとJQUERYです

<select id="tToth">
<option value="0">Select a state</option>
<option value="1">California</option>
<option value="2">Colorado</option>
</select>
<br>
<br>
<select id="tState">
<option value="0">Select a Zone</option>
<option value="1">west</option>
<option value="2">sout</option>
<option value="3">east</option>
</select>
<br>
<br>
<input type="text" id="boxa" size="6" required="required"></input>
<br>
<br>
<input type="text" id="boxb" size="6" required="required"></input>
<br>
<br>
<input type="text" id="boxb" size="6" required="required"></input>
<br>
<br>
<input type="button" id="answerButton" value="Get Answer"></input> 

var plate = $("#tToth").val();
var bowl = $("#tState").val();
var emptyTextBoxes = $('input:text').filter(function () {
return this.value === "";
});
var string = "The blank textbox ids are - \n";

emptyTextBoxes.each(function () {
    string += "\n" + this.id;
});

if (emptyTextBoxes && plate && bowl) {
    alert("empty boxes and plate & bowl");
    $(".error").show();
} else if (emptyTextBoxes && !plate && !bowl) {
    alert("empty boxes, plate and bowl");
    $(".error").show();


} else if (!emptyTextBoxes && plate && !bowl) {
    alert("nothing empty");
    $(".error").show();

}
jfriend00

質問している質問を正確に伝えるのは難しいですが、if / elseテストが機能している方法にいくつかの問題があるので、それらについて説明します。おそらく、それがあなたにとって機能していないことを説明します。

まずemptyTextBoxes、jQueryオブジェクトであり、オブジェクトは常に真実です。つまり!emptyTextBoxes、真になることは決してないので、最後の条件が満たされることは決してないということです。

jQueryオブジェクトが空であるかどうか(たとえば、DOM要素が含まれていないかどうか)をテストする場合は、emptyTextBoxes.length代わりにチェックします。

したがって、if / elseのその部分だけを修正すると、次のようになります。

// if we have some emptyTextBoxes, but we do have values for plate and bowl
if (emptyTextBoxes.length && plate && bowl) {
    alert("empty boxes and plate & bowl");
    $(".error").show();
// if we have emptyTextBoxes, but no values for plate and bowl
} else if (emptyTextBoxes.length && !plate && !bowl) {
    alert("empty boxes, plate and bowl");
    $(".error").show();

// there are no empty text boxes, we have plate, but not bowl
} else if (!emptyTextBoxes.length && plate && !bowl) {
    alert("nothing empty");
    $(".error").show();

}

それを超えると、考えられるすべての条件をカバーしておらず、一部の条件がどの条件にも一致せず、テストで必要な条件が得られているかどうかが不明なため、論理エラーが発生する可能性があります。テストしている条件を説明するために、各条件にコメントを追加しました。

特に、場合ので、最後の条件が満たされない場合がありと思われるplatebowlしている<input>分野、ゼロを持ってすることはできませんemptyTextBoxesが、用がbowlあればあるため空にbowl空だった、そしてemptyTextBoxesそれで何かを持っているでしょう。


これらのif / else条件のロジックをさらに整理するために支援が必要な場合は、各if条件に一致させたいものを言葉で説明する必要があります。そのための適切なロジックを支援できます。


詳細な説明に基づいて、回答ボタンをクリックすると各タイプの入力をチェックするコードのバージョンを次に示します。

$("#answerButton").click(function(e) {
    var plate = $("#tToth").val();
    var bowl = $("#tState").val();
    var emptyTextBoxes = $('input:text').filter(function () {
        return this.value === "";
    });
    if (plate === "0") {
        alert("Please select a State");
    } else if (bowl === "0") {
        alert("Please select a Zone");
    } else if (emptyTextBoxes.length !== 0) {
        alert("All text fields must contain a value")
    } else {
        alert("All values good");
    }
});

作業デモ:http//jsfiddle.net/jfriend00/zhex1z4k/

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

jqueryでifelseステートメントと.hover()メソッドを使用する

jQuery Multiple IfElseステートメント

Jquery Onchange Ifelseステートメントが機能しない

jquery ajax ifelseステートメントをswitchステートメントに変換する方法

jQuery .toggle()アニメーション中にテキストが一時的にドロップダウンする

ifelseステートメントを使用するときにjqueryで背景色を比較する方法

jQueryセレクターが特定のテキスト(ドメイン拡張子)をチェックする

jQuery-要素テキストがステートメントと一致する場合、一致したテキストを変更します

jQueryオートコンプリート:テキストボックスに提案を表示する

オートコンプリートテキストボックスjqueryで配列を使用する方法は?

phpifステートメント内のクラスをキャプチャするjQueryセレクター

Jqueryがテキストをループし、画面に表示する

jQueryオートコンプリートをクリックするとテキストボックスがクリアされます

ブートストラップラジオボタンのテキストを取得する-jquery

デスクトップビューでのみスティッキーテキストJQueryを使用する

jQuery ifelseステートメントが元のチェックボックスの状態をリセットしない

ボタンをクリックしてjQueryを実行すると、キーアップイベントを含む追加テキストが消えます

デスクトップHTMLドキュメントでjqueryを実行する

選択リストオプションのテキストを取得し、jqueryを使用してIFステートメントで比較する方法

jQuery:テキストボックス内でTABキープレスをキャプチャする方法

jQuery:オプション値を選択するifステートメント

テキストが点滅するjQuery

iframeコンテキスト内でjQueryメソッドを使用する方法

奇妙な動作をするJqueryループ内のifステートメント

jQueryイメージスワップif-elseステートメントが機能しない

テキストボックスのjqueryキーアップイベントはIDを取得します

入力値がjqueryのifステートメントを使用する

コンテンツプレースホルダー内で使用すると、テキストボックスのオートコンプリートjqueryが機能しないのはなぜですか?

jQuery ifステートメントが壊れていますか?

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    CSSのみを使用して三角形のアニメーションを作成する方法

  3. 3

    ZScalerと証明書の問題により、Dockerを使用できません

  4. 4

    ドロップダウンリストで選択したアイテムのQComboBoxスタイル

  5. 5

    別のホストからTomcat Managerアプリにアクセスする

  6. 6

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  7. 7

    Windows 10でのUSB入力デバイスの挿入/取り外しの検出

  8. 8

    Python / SciPyのピーク検出アルゴリズム

  9. 9

    MLでのデータ前処理の背後にある直感

  10. 10

    useRefに反応してコンポーネントをスクロールして表示する

  11. 11

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  12. 12

    パンダは異なる名前の列に追加します

  13. 13

    PictureBoxで画像のブレンドを無効にする

  14. 14

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  15. 15

    Pythonを使用して、リストからデータを読み取り、特定の値をElasticsearchにインデックス付けするにはどうすればよいですか?

  16. 16

    LinuxでPySide2(Qt for Python)をインストールするQt Designerはどこにありますか?

  17. 17

    Material-UIでTextFieldエラーの色を条件付きでオーバーライドする方法

  18. 18

    goormIDEは、ターミナルがロードするデフォルトプロジェクトを変更します

  19. 19

    MatplotlibまたはSeabornを使用して、グループ化されたデータから複数のプロットを生成するにはどうすればよいですか?

  20. 20

    Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

  21. 21

    Flutterにファイルピッカープラグインを追加するにはどうすればよいですか?

ホットタグ

アーカイブ