0

我想使用 jquery 比较两个文本框的数据,就像我们在创建电子邮件帐户时比较密码和确认密码一样。我仍然有以下东西。

CSS

.test {
    display:none;
}

HTML

<input type="text" name="t1" />
<input type="text" name="t2" />
<label class="test" name="lblerror">Error</label>

jQuery

$("#t2").click(function () {
    if ($("#t1").val() === $("#t2").val()) {} else {
        $("#lblerror").removeClass("test");
    }
});

演示

请帮助我,我怎样才能比较这两个字符串,而只留下第二个名为t2.

提前致谢。

4

7 回答 7

4

尝试这个

您在 Jquery 中使用名称作为 Id,这是错误的。将名称转换为 ID。那么它将起作用。

<input type="text" id="t1" />
<input type="text" id="t2" />
<label class="test" id="lblerror">Error</label>

JS

$(function(){
    $("#t2").change(function () {
                 if ($("#t1").val() === $("#t2").val()) {
                    $("#lblerror").addClass("test");        
                }
                else {
                    $("#lblerror").removeClass("test");
                }
            });
    });

演示

于 2013-08-28T11:43:27.460 回答
1

尝试这样的事情

$('form').submit(function(evt) {
   if ($('#textbox1').val() === $('#textbox2').val()) {
     alert('values match');
     evt.preventDefault();
   }
}

使用 .submit() 方法绑定到表单的提交事件,然后比较文本框中的 2 个值 - 如果它们相同,则会显示警报,然后使用 event.preventDefault() 阻止默认操作(表单提交)

工作示例演示在这里

于 2013-08-28T11:46:45.570 回答
1

如果您需要通过 $("#t1") 获取元素,则 t1 应该是 id,而不是名称。

将 id="t1" 添加到输入标签。

<input type="text" name="t1"  id="t1" />
<input type="text" name="t2" id="t2"  />
于 2013-08-28T11:47:11.257 回答
1

在你的 html

<input type="text" name="t1" />
    <input type="text" name="t2" />

你没有提供身份证

你的代码应该是

<input type="text" name="t1"  id="t1" />
<input type="text" name="t2" id="t2"  />

blur我猜你还需要添加事件。

$("#t2").blur(function () {
                    if ($("#t1").val() == $("#t2").val()) {
                      $("#lblerror").removeClass("test");
                    }
                    else {
                       $("#lblerror").addClass("test");  
                    } 
                });

更新的小提琴

于 2013-08-28T11:41:54.343 回答
1

$("#t2")将引用一个元素,id="t2"但您的所有字段都只有name和没有id。您应该id在字段中添加一个以访问它。

尝试将您的 HTML 代码更改为如下所示:

<input type="text" id="t1" />
<input type="text" id="t2" />
<label class="test" id="lblerror">Error</label>

您可以使用下面的代码来比较两个字段的值,然后根据比较结果显示/隐藏标签错误。

$("#t2").on("blur", function () {
    if ($("#t1").val() === $("#t2").val()) {
        $("#lblerror").hide();
    } else {
        $("#lblerror").show();
    }
});
于 2013-08-28T11:43:38.467 回答
0

name 属性不能以这种方式用作选择器。此外,在您的 jquery 中,您使用了“#”,它根据其 id 选择一个元素。按如下方式更改您的 HTML:

<input type="text" id="t1" />
<input type="text" id="t2" />
<label class="test" id="lblerror">Error</label>  
于 2013-08-28T11:51:33.680 回答
0

我将其更改为 id 而不是 name 和 blur event 而不是 click

点击需要输入后再次点击

$("#t2").blur(function () {



                        if ($("#t1").val() === $("#t2").val()) {
                         $("#lblerror").removeClass("test");

                        }
                        else {
                           $("#lblerror").addClass("test");    

                        }


    });
于 2013-08-28T11:53:29.180 回答