使用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 );