2

好的,所以我在网络表单上比较了 2 个值,一个是文本值,一个是选择元素中的值。当文本值小于下拉列表时,我需要将下拉列表更改为低于文本框中的最大值。

例如,如果用户在下拉列表中选择 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 回答