Javascript jQuery val()比较
我试图用jQuery比较两个输入字段的值。但是,它看起来确实正确,但当其中一个值较大时,它不会发出警报Javascript jQuery val()比较,javascript,jquery,html,Javascript,Jquery,Html,我试图用jQuery比较两个输入字段的值。但是,它看起来确实正确,但当其中一个值较大时,它不会发出警报 Enter the key: <input type="text" name="key" size="35" id="q17" autocomplete="off"> <input id="charsLeft" type="text" class="count1" disabled> <br /><br /> Plaintext: <i
Enter the key:
<input type="text" name="key" size="35" id="q17" autocomplete="off">
<input id="charsLeft" type="text" class="count1" disabled>
<br /><br />
Plaintext:
<input type="text" name="key" size="35" id="q18" autocomplete="off">
<input id="charsLeft2" autocapitalize="off" autocorrect="off" type="text" class="count" disabled>
输入密钥:
明文:
JavaScript:
$(document).ready(function() {
// Count key
$("#q17").keyup(function() {
$('#charsLeft').val($(this).val().length);
});
// Count plaintext
$("#q18").keyup(function() {
$('#charsLeft2').val($(this).val().length);
});
// Compare key|plaintext
if ($('#charsLeft').val() < $('#charsLeft2').val()) {
alert('Key is shorter than the plaintext');
}
});
$(文档).ready(函数(){
//计数键
$(“#q17”).keyup(函数(){
$('#charsLeft').val($(this.val().length);
});
//计数明文
$(“#q18”).keyup(函数(){
$('#charsLeft2').val($(this.val().length);
});
//比较键|纯文本
if($('charsLeft').val()<$('charsLeft2').val()){
警报(“密钥比明文短”);
}
});
我试图比较两个输入字段的值(
charsLeft
和charsLeft2
)。我错过了什么?这里有一把小提琴:.val()
返回一个字符串。您应该使用parseInt
或parseFloat
比较字符串,而不是整数。您可以使用parseInt()
转换它们。试试这个:
if (parseInt($('#charsLeft').val(), 10) < parseInt($('#charsLeft2').val(), 10)) {
alert('Key is shorter than the plaintext');
}
if(parseInt($('charsLeft').val(),10)
您的代码有两个问题:
.val()
而不是字符串长度进行比较$('charsLeft').val().length<$('charsLeft2').val().length
对于第二个问题,您应该将比较代码放在按钮的click事件处理程序函数中或类似的东西中。另一个选项是使用第二个输入的
focusout
事件,并将事件处理程序附加到.p>或+$('#charsLeft2').val()
.True,但请注意+
一元运算符等同于仅为记录使用Number()
,而不是parseInt()
,parseInt
的第二个参数是基数(即数字的基数)。感谢您的澄清。在你发布答案后,我确实检查了功能。但是,如何在不需要操作(即本例中的单击事件)的情况下运行检查?我最终使用了下面提到的.focusout()
,但感谢您的建议。只需使用+$('#charsLeft').val()<+$('#charsLeft2')。val()
。focusout()
是我一直在寻找的。谢谢你提及此事。很高兴能帮助你!:)你可以评估我的答案:)那正是我忘记的。感谢您的时间和回答:)