Javascript 运行keyup function()和change function()以获得一个结果

Javascript 运行keyup function()和change function()以获得一个结果,javascript,jquery,Javascript,Jquery,我正在尝试创建一个选择选项和一个输入字段。当用户选择选项1并输入2时,结果为:10(随选项更改)*2=20。如果用户更改所选选项,结果将更改。我正在尝试使用keyup function()和change function()调整脚本,但change function()不起作用: $(“#mytextfield”).on('keyup change',function()){ 让我们获得价值; if($(“#totaldays”).children(“:selected”).attr(“id”

我正在尝试创建一个选择选项和一个输入字段。当用户选择选项1并输入2时,结果为:10(随选项更改)*2=20。如果用户更改所选选项,结果将更改。我正在尝试使用keyup function()和change function()调整脚本,但change function()不起作用:

$(“#mytextfield”).on('keyup change',function()){
让我们获得价值;
if($(“#totaldays”).children(“:selected”).attr(“id”)==“a”){
getvalue=10;
}
if($(“#totaldays”).children(“:selected”).attr(“id”)==“b”){
getvalue=20;
}
if($(“#totaldays”).children(“:selected”).attr(“id”)==“c”){
getvalue=30;
}
var total=getvalue*$(this).val()
$(“.total”).html(总计);
});

选择1
选择2
选择3

总计:

您只是没有侦听select上的更改事件,而只侦听输入字段上的更改事件。我将事件处理程序提取到一个单独的函数中,并将其用于两个事件:

函数doStuff(){
让我们获得价值;
if($(“#totaldays”).children(“:selected”).attr(“id”)==“a”){
getvalue=10;
}
if($(“#totaldays”).children(“:selected”).attr(“id”)==“b”){
getvalue=20;
}
if($(“#totaldays”).children(“:selected”).attr(“id”)==“c”){
getvalue=30;
}
var total=getvalue*$('#mytextfield').val()
$(“.total”).html(总计);
}
$(“#mytextfield”)。on('keyup',doStuff);
美元(“#总天数”)。在('change',doStuff')

选择1
选择2
选择3

总计:

您只是没有侦听select上的更改事件,而只侦听输入字段上的更改事件。我将事件处理程序提取到一个单独的函数中,并将其用于两个事件:

函数doStuff(){
让我们获得价值;
if($(“#totaldays”).children(“:selected”).attr(“id”)==“a”){
getvalue=10;
}
if($(“#totaldays”).children(“:selected”).attr(“id”)==“b”){
getvalue=20;
}
if($(“#totaldays”).children(“:selected”).attr(“id”)==“c”){
getvalue=30;
}
var total=getvalue*$('#mytextfield').val()
$(“.total”).html(总计);
}
$(“#mytextfield”)。on('keyup',doStuff);
美元(“#总天数”)。在('change',doStuff')

选择1
选择2
选择3

总计:

您还可以触发其他元素的更改:

 $("#totaldays").on("change", function(){$("#mytextfield").trigger("change")})

您还可以触发其他元素的更改:

 $("#totaldays").on("change", function(){$("#mytextfield").trigger("change")})
var$dropdown=$('#totaldays');
var$input=$(“#mytextfield”);
$dropdown.on('change',calculateCount);
$input.on('keyup change',calculateCount');
函数calculateCount(){
var dropDownValue=$dropdown.find('option:selected').attr('id');
var inputValue=parseInt($input.val(),10);
var-getvalue=10;
如果(dropDownValue=='b'){
getvalue=20;
}else if(dropDownValue=='c'){
getvalue=30;
}
var total=getvalue*inputValue;
$(“.total”).html(总计);
}

选择1
选择2
选择3
总计:

var$dropdown=$('#totaldays');
var$input=$(“#mytextfield”);
$dropdown.on('change',calculateCount);
$input.on('keyup change',calculateCount');
函数calculateCount(){
var dropDownValue=$dropdown.find('option:selected').attr('id');
var inputValue=parseInt($input.val(),10);
var-getvalue=10;
如果(dropDownValue=='b'){
getvalue=20;
}else if(dropDownValue=='c'){
getvalue=30;
}
var total=getvalue*inputValue;
$(“.total”).html(总计);
}

选择1
选择2
选择3

总计:

“当用户选择选项1并输入2时,结果:10(随选项更改)*2=20”我没有得到此零件。您将希望将onchange处理程序放在选择框中<代码>$(“#totaldays”)。在('change',function(){……
上,当用户选择选项1并输入2时,此处理程序的函数将类似,但与现有函数不同。结果:10(随选项更改)*2=20“我没有得到此部分,您将希望将onchange处理程序放在选择框上。
$(“#totaldays”)。在('change',function(){……
此处理程序的函数将类似,但与您现有的函数不同哦,您无法相信我在过去3小时内试图解决此问题。谢谢您的回答。哦,您无法相信我在过去3小时内试图解决此问题。谢谢您的回答。