使用jQuery更改选择表单时更改标签的值

使用jQuery更改选择表单时更改标签的值,jquery,drop-down-menu,Jquery,Drop Down Menu,我想做的是,当我在下拉选择表单中进行更改时,能够更改标签的值 <select form="FormCalcInput" id="calcOption" title="Choose what value you want to count> <option value="PMT" class="PMT">Payment (PMT)</option> <option value="I" class="I">Interest (I)&l

我想做的是,当我在下拉选择表单中进行更改时,能够更改标签的值

<select form="FormCalcInput" id="calcOption" title="Choose what value you want to count> 
    <option value="PMT" class="PMT">Payment (PMT)</option>
    <option value="I" class="I">Interest (I)</option>
    <option value="FV" class="FV">Future value (FV)</option>
    <option value="PV" class="PV">Present value (PV)</option>
</select>

<label id="labelChanged"></label>

如果要选择上一个变量,则需要一个全局变量:

var newLabel = '';
$('#calcOption').on('change', function(){
    $('#labelChanged').text(newLabel); //Change the text before changing the value
    switch(this.value){
        case 'I':
            newLabel = 'Interest';
            break;
        case 'FV':
            newLabel = 'Future value';
            break;
        case 'PV':
            newLabel = 'Present value';
            break;
        case 'PMT':
            newLabel = 'Payment';
            break;
    }
}).trigger('change');

更新的

我不确定这是否是您要查找的内容,但这会将标签设置为所选选项中的文本

$('#calcOption').on('change', function(){
    var v = $(this).find(':selected').text();
    $('#labelChanged').text( v );
});
试试这个

<select form="FormCalcInput" id="calcOption" title="Choose what value you want to count" onChange="changelabel(this.value)"> 
<option value="PMT" class="PMT">Payment (PMT)</option>
<option value="I" class="I">Interest (I)</option>
<option value="FV" class="FV">Future value (FV)</option>
<option value="PV" class="PV">Present value (PV)</option>
</select>

<label id="labelChanged"></label>

我猜应该是这样的

$('#calcOption').on('change', function() {
    var prev = $(this).data('prev') || $('option:first', this).text();

    $('#labelChanged').text(prev);
    $(this).data('prev', $('option:selected', this).text());
});

这将保存以前选择的值并将其设置为标签文本

请尝试以下操作:

function TestFunction() {

                var name = $("#calcOption option:selected").text();

                if (name == "Interest (I)") {
                    $("#labelChanged").val("");
                    $("#labelChanged").text("Payment");
                }
                else if (name == "Interest (I)") {
                  //set other value
                }
            }

您可以在下拉列表的更改事件中调用此类代码

Var ddlSelectedValue = $('#calcOption').text();
$('#labelChanged').text(ddlSelectedValue );

我不明白?当您选择
利息(I)
时,标签应显示
“付款”
,当您选择
未来价值(FV)
时,标签应显示。。。等等<代码>“付款”
?这是什么逻辑@哦,对不起,我没说清楚。我的意思是标签应该是上一个选定值。@Dave上一个选定值还是当前选定值?将您的问题更新为clearPrevious,因为在此问题之前选择的问题,或者DOM中的上一个选项,现在还不清楚您在问什么。谢谢,这正是我想要的。我知道这是一个初学者的问题,但你必须从某个地方开始:)@user3441954
function TestFunction() {

                var name = $("#calcOption option:selected").text();

                if (name == "Interest (I)") {
                    $("#labelChanged").val("");
                    $("#labelChanged").text("Payment");
                }
                else if (name == "Interest (I)") {
                  //set other value
                }
            }
Var ddlSelectedValue = $('#calcOption').text();
$('#labelChanged').text(ddlSelectedValue );