0

以下のスクリプトではor、条件をチェックする演算子を追加しました.「ALL TCP」または「ALL UDP」の場合、アイテムを無効にする必要があります.コードを変更することをお勧めします.

<script type="text/javascript">
    function chgJob(pThis, pRow)
    {
        if ((pThis.value != 'All TCP') || (pThis.value != 'All UDP'))
        {
            $x_disableItem('f02_' + pRow, false);
        }
        else
        {
            $x_disableItem('f02_' + pRow, true);
        }
    }
</script>
4

3 に答える 3

4

'All TCP'文字列が同時に等しいことと等しいことは決してない'All UDP'ため、条件は常に真になります。

&&演算子の代わりに演算子を使用したい場合||:

if ((pThis.value != 'All TCP') && (pThis.value != 'All UDP'))

編集:

Cerbrus が指摘したように、ifステートメントはまったく必要ありません。ブール式を反転して直接使用できます (x==y || x==zは と同じです!(x!=y && x!=z))。

<script type="text/javascript">
function chgJob(pThis, pRow) {
    $x_disableItem('f02_' + pRow, pThis.value == 'All TCP' || pThis.value == 'All UDP');
}
</script>
于 2012-12-04T07:30:16.273 に答える
0

これを試して:

if ((pThis.value != 'All TCP') && (pThis.value != 'All UDP'))

また :

function chgJob(pThis, pRow)
{
    if ((pThis.value == 'All TCP') || (pThis.value == 'All UDP'))
    {
        $x_disableItem('f02_' + pRow, true);
    }
    else
    {
        $x_disableItem('f02_' + pRow, false);
    }
}
于 2012-12-04T07:37:15.467 に答える
0

既に述べたように、 では、 の代わりに演算子if-elseが必要になりますが、&&||

if代わりにこれを行うことで、完全に削除することもできます。

function chgJob(pThis, pRow) {
    $x_disableItem('f02_' + pRow, (pThis.value == 'All TCP' || pThis.value == 'All UDP'));
}

またはの場合、アイテムは無効になりますpThis.value"ALL TCP""ALL UDP"

于 2012-12-04T07:45:04.817 に答える