我有一个输入,您可以在其中输入值,进行检查,如果它大于if语句中的数字,则在第二个,禁用字段中获得百分比值...
现在当我尝试使用其他if和else语句检查不同的数字时问题出现了。我是jQuery nooby,我不知道如何解决这个问题。
到目前为止,我遇到了这种情况:http://jsfiddle.net/dzorz/xFHte/
HTML:
<input type="text" class="entered" id="entered" name="entered">
<input type="text" class="percent" id="percent" name="percent" disabled>
脚本:
$(".entered").change(function(){
if(parseFloat(this.value) > 39617756.85){
$(".percent").val('1%');
}
else if(parseFloat(this.value) > 19205010.98){
$(".percent").val('2%');
}
else if(parseFloat(this.value) > 12378426.86){
$(".percent").val('3%');
}
else(parseFloat(this.value) > 1242179.25){
$(".percent").val('not qualified');
}
});
我做错了什么?
答案 0 :(得分:2)
我认为问题是你需要不在'not qualified'
的else块中的最后一个else if
,这样如果没有满足任何条件,将显示'不合格的消息。
$(".entered").change(function(){
var value = parseFloat(this.value);
if(value > 39617756.85){
$(".percent").val('1%');
} else if(value > 19205010.98){
$(".percent").val('2%');
} else if(value > 12378426.86){
$(".percent").val('3%');
} else{
$(".percent").val('not qualified');
}
});
演示:Fiddle
答案 1 :(得分:1)
您的html语法存在一些问题
<input type="text" class="entered" id="entered" name="entered" />
<input type="text" class="percent" id="percent" name="percent" disabled="disabled" />
结合评论中的建议
$(".entered").change(function () {
var value = parseFloat($(this).val());
var text = "";
if (value > 39617756.85) {
text = "1%";
} else if (value > 19205010.98) {
text = "2%";
} else if (value > 12378426.86) {
text = "3%";
} else if (value > 1242179.25) {
text = "not qualified";
}
if (text != "") $(".percent").val(text);
});