jQuery在输入文本框上运行代码更改

时间:2015-07-15 07:29:27

标签: javascript jquery

以下代码可以从#input-lines-percent输入正常运行并正确更新值。 #input-curves-percent会运行代码,因此更改似乎有效,但它根本不更新文本框。

要查看我的意思,请在Straight lines %框中键入一些文字,然后查看两个文本框的更新方式。但是请在Curves %上尝试此操作,但没有更新。两者的代码几乎完全相同,所以我不确定是什么导致了这种差异。



$('#input-curves-percent').change(function(e){
    updatePercentGroupShape('curve');
});
$('#input-lines-percent').change(function(e){
    updatePercentGroupShape('line');
});
function updatePercentGroupShape(lastEdit){
    // Updates the percentage boxes for the shape type percents
    
    var curves = parseInt($('#input-curves-percent').val());
    var lines = parseInt($('#input-lines-percent').val());

    if(lastEdit.localeCompare('curve') == 0){
        
        if(curves < 0){
            curves == 0;
        }else if(curves > 100){
            curves = 100;
        }
        lines = 100 - curves;

    }
    if(lastEdit.localeCompare('line') == 0){
        
        if(lines < 0){
            lines == 0;
        }else if(lines > 100){
            lines = 100;
        }
        curves = 100 - lines;
    }
    $('#input-curves-percent').val(curves);
    $('#input-line-percent').val(lines);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
	<div>Curves %</div>
	<div><input type="text" id="input-curves-percent" value="0"></div>
</div>
<div>
	<div>Straight lines %</div>
	<div><input type="text" id="input-lines-percent" value="100"></div>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:3)

在最后一个js行中有一个拼写错误,只需替换

    $('#input-line-percent').val(lines);
                 ^^^

    $('#input-lines-percent').val(lines);

答案 1 :(得分:2)

其中有一个拼写错误。

print r.text

和脚本

 id="input-lines-percent"