使用Javascript替换选择框中的金额

时间:2013-01-24 23:35:30

标签: javascript

好的,所以我在webform上比较2个值,一个是文本值,一个是select元素。当文本值小于下拉列表时,我需要将下拉列表更改为低于文本框中的值的最高值。

例如,如果用户在下拉列表中选择2000,然后在文本字段中输入1100,我需要弹出窗口返回说1000。

我写了一些我认为可以工作的东西的开头,但是我不知道是否应该使用return命令和下拉字段名称,或类似字段名称(弹出窗口)是<文字金额。

这是我到目前为止所拥有的。如果有人能指出我正确的方向,我会非常感激。

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

2 个答案:

答案 0 :(得分: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"));

答案 1 :(得分:0)

//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;

}