0

したがって、この質問はネット上でよく聞かれますが、答えは .length が > 0 であるかどうかを確認することです。

したがって、私の場合、選択ボックスが存在する場合と存在しない場合があります。存在する場合、オプションがない可能性があります。

次のコードを作成する必要があります。

選択ボックスが存在する場合 ... 選択ボックスのオプションがない場合 ... テキスト領域を無効にする

したがって、私は次のように書いています。

$(document).ready(function () {
    "use strict";

    alert('running globals');
    // Only process this block if the contactEmailAddress select box exists
    if ($('contactEmailAddress').length > 0) {
        alert('on the comm page');

        // If there are no contacts ...
        if ($('#contactEmailAddress option').size() === 0) {
            alert('disabling the message box');
            $('#message').attr("disabled", "disabled");
        }
    }
});

問題は、選択ボックスにオプションがないため、selectbox.length が 0 であると判断されることです。したがって、このブロックは起動しません。

別の方法が必要です。

4

2 に答える 2

7

のIDを持つ要素ではなく、という名前$の要素を検索する代わりに、最初の「ID セレクター」がありません。 contactEmailAddresscontactEmailAddress

if ($('#contactEmailAddress').length > 0) {

$('#contactEmailAddress option').size()選択が存在するかどうかを気にせずに直接実行できることに注意してください。例外やエラーはスローされません。

于 2013-04-22T16:27:01.653 に答える