2011-08-25 35 views
0

我有这样3输入框:jQuery检测重复的Url的?

<input id="0" type="text" class="test" /> 
<input id="1" type="text" class="test"/> 
<input id="2" type="text" class="test"/> 

我试图找出如何检测重复的数据,就如同他们在> 1中输入相同的URL所有的条子提醒用户?

我有jsFiddle - http://jsfiddle.net/PLacj/

任何人都可以协助吗?

+0

您是否想将“www.google.com”,“http:// www.google.com”和“google.com”设置为相同的网址? –

+0

@Tom - 最好(也是正确的)**不**有ID开头的数字。 – Neal

+0

@sam dufel - 是的,我认为REGEX,但不知道这是否是最好的选择? – Tom

回答

0

在这里你去:

$('.test').blur(function() { 
    var self = this; 
    var value = this.value; 
    $('.test').not(this).each(function(){ 
     if(value == this.value && this.value.length > 0){ 
      alert('cannot do that!'); 
      self.value = ''; 
      return false; 
     } 
    }) 
}); 

小提琴:http://jsfiddle.net/maniator/PLacj/2/

+0

非常感谢。爱val()删除:)真的+1 – Tom

+0

@汤姆 - 只是说'+ 1'并不意味着什么。记住 - 如果你找到你的答案,注意它,当你可以,将它标记为接受:-) – Neal

+0

是的我会,但我不能接受答案,因为SO不允许它10分钟或什么: ) – Tom

0

在这里你去

工作demo

$(function(){ 

    $('.test').blur(function() { 
     var isDup = false, val = $(this).val().toLowerCase(); 
     $('.test').not("#"+this.id).each(function(){ 
      if($(this).val().toLowerCase() == val){ 
       isDup = true; 
      } 
     }); 

     if(isDup){ 
      alert("Duplicate"); 
     } 
    }); 
}); 
+0

你可以这样做:'$('。test')。not(this)' – Neal

+0

@Neal - 我同意,可以这样做。但我相信如果我们传递一个选择器,'jQuery'就可以轻松地进行比较而不是对象比较。 – ShankarSangoli

+0

但涉及第二次搜索。 – Neal