2

OK、ウェブフォームで 2 つの値を比較しています。1 つはテキスト値で、もう 1 つは選択要素にあります。テキスト値がドロップダウンよりも小さい場合、ドロップダウンをテキスト ボックス内の値よりも低い最大値に変更する必要があります。

たとえば、ユーザーがドロップダウンで 2000 を選択し、テキスト フィールドに 1100 を入力した場合、ポップアップで 1000 を返す必要があります。

うまくいくと思ったものの冒頭を書きましたが、ドロップダウンフィールド名と組み合わせてリターンコマンドを使用する必要があるのか​​ 、それとも(ポップアップの)フィールド名のようなものが < テキスト量.

これが私がこれまでに持っているものです。誰かが私を正しい方向に向けることができれば、本当に感謝しています.

function compareAmts () {
    if ($("#TCA_Field1").val() < ("#TCA_Field2").val ) {
        ($("#TCA_Field2").val() ==
        );
    }
}
4

2 に答える 2

2

プレーンな JavaScript を使用してオプションを反復処理し、適切なものを選択することをお勧めします。

function adjustMaxDropdownValue($dropdown, $input)
{
    var element = $dropdown.get(0),
    options = element.options,
    i = element.selectedIndex,
    atMost = +$input.val(); // cast to number

    while (i >= 0 && options[i].value >= atMost) {
        --i;
    }

    element.selectedIndex = i;
}

これは、ドロップダウン値が低いものから高いものの順に並べられていることを前提としています。

呼び出すには:

adjustMaxDropdownValue($("#TCA_Field1"), $("#TCA_Field2"));
于 2013-01-25T00:04:29.400 に答える
1
//Functions


function compareAmts($FIELDSwitchText, $FIELDSwitchPull)
{
var SwitchAdv = 0;
temp = $("#FIELD_SwitchPull").val();
var SwitchComm = parseInt(temp.replace(/\,/g,''));

if($("#FIELD_SwitchText").val()!=""){
    SwitchAdv = parseInt($("#FIELD_SwitchText").val());
}


var element = $FIELDSwitchText.get(0),
options = element.options,
i = element.selectedIndex,
atMost = +$FIELDSwitchPull.val(); // cast to number

while (i >= 0 && options[i].value >= atMost) {
    --i;
}

element.selectedIndex = i;

}

于 2013-01-28T22:09:32.633 に答える