Javascript 当文本区域等于某个值时显示div

Javascript 当文本区域等于某个值时显示div,javascript,jquery,Javascript,Jquery,我知道这个问题,或者类似的问题,已经被问了很多次了,但是到目前为止,没有一个答案对我来说很有效 我有以下代码: $(文档).ready(函数(){ $(“.ta”).keyup(函数(){ 如果(this.value==“0”){ $(“#div1”).css(“显示”、“块”); } 否则{ $(“#div1”).css(“显示”、“无”); } 如果(this.value==“1”){ $(“#div2”).css(“显示”、“块”); } 否则{ $(“#div2”).css(“显示”、

我知道这个问题,或者类似的问题,已经被问了很多次了,但是到目前为止,没有一个答案对我来说很有效

我有以下代码:

$(文档).ready(函数(){
$(“.ta”).keyup(函数(){
如果(this.value==“0”){
$(“#div1”).css(“显示”、“块”);
}
否则{
$(“#div1”).css(“显示”、“无”);
}
如果(this.value==“1”){
$(“#div2”).css(“显示”、“块”);
}
否则{
$(“#div2”).css(“显示”、“无”);
}
如果(this.value==“2”){
$(“#div3”).css(“显示”、“块”);
}
否则{
$(“#div3”).css(“显示”、“无”);
}
});
});
风险值数据={
“人工鱼”:{
“01至03年”:{
“N”:{
“阿根廷”:951433
}
},
“05年以上”:{
“N”:{
“阿根廷”:3719665
}
}
},
“人民币”:{
“03至05年”:{
“N”:{
“中国”:162950484
}
}
},
“警察”:{
“05年以上”:{
“N”:{
“哥伦比亚”:323390000
}
}
},
“欧元”:{
“01至03年”:{
“Y”:{
“比利时”:393292575
}
}
}
},
点数=[],
货币兑换点,
currencyVal,
currencyI=0,
周期点,
周期一,
yesOrNoPoints,
耶索诺,
货币,
时期
叶索诺,
密尔,
因为埃米尔,
卡塞米利,
causeName={
“N”:“国家名称”,
“Y”:“国家名称”
};
for(数据中的货币){
if(数据hasOwnProperty(货币)){
currencyVal=0;
货币点数={
id:'id_'+currencyI,
名称:货币,,
颜色:Highcharts.getOptions().color[currencyI]
};
周期i=0;
for(期间数据[货币]){
if(数据[货币].hasOwnProperty(期间)){
周期点={
id:currencyPoints.id+'.'+periodI,
名称:期间,,
父项:currencyPoints.id
};
点。推(周期点);
yesOrNoI=0;
对于(数据[货币][期间]中的yesOrNo){
if(数据[货币][期间].hasOwnProperty(yesOrNo)){
yesOrNoPoints={
id:periodPoints.id+'.'+yesOrNoI,
姓名:yesOrNo,
父项:periodPoints.id,
};
causeMilI=0;
(单位:百万欧元,数据[货币][期间][是或否]){
if(数据[货币][期间][是或否].hasOwnProperty(mil)){
因果关系={
id:yesOrNoPoints.id+'.'+causeMilI,
姓名:mil,,
父项:yesOrNoPoints.id,
值:数学整数(+数据[货币][期间][yesOrNo][mil])
};
currencyVal+=原因值;
点推(causeMil);
causeMilI=causeMilI+1;
}
}
点。推(yesOrNoPoints);
yesOrNoI=yesOrNoI+1;
}
}
周期i=周期i+1;
}
}
currencyPoints.value=数学圆整(currencyVal/periodI);
点。推(当前点);
currencyI=currencyI+1;
}
}
Highcharts.chart('容器'{
xAxis:{
活动:{
设置极端值:函数(e){
$('.ta').val(Math.abs(this.chart.series[0].tree.levelDynamic));
},
}
},
系列:[{
类型:'treemap',
布局算法:“squarified”,
allowDrillToNode:true,
levelIsConstant:false,
动画限制:1000,
数据标签:{
已启用:false
},
levelIsConstant:false,
级别:[{
级别:1,
数据标签:{
已启用:true
},
边框宽度:3
}],
数据:点数
}],
标题:{
文本:“”
}
});
#容器{
最小宽度:300px;
最大宽度:600px;
保证金:0自动;
}

使用.change()而不是.keyup()。您根本没有触发.keyup()

通过以下方式更改值:

$('.ta').val(...)
不触发.keyup(…)事件处理程序,该处理程序在手动键事件上触发。尝试改用change(…)事件处理程序

编辑:如果未触发更改事件,请使用

$('.ta').change();

在您的值更改代码的末尾。

我按照您所说的做了,并将$(“.ta”).keyup(function(){替换为$(“.ta”).change(function(){但仍然没有发生任何事情触发setextrems()函数末尾的change()函数。