2015-09-16 57 views
0

我将尝试使用此代码:JQuery的,如果值是一个数组

 <?php 
     $return_arr = array(); 
     $sql="SELECT * from customer where email <> '' group by email "; 
     $rs=mysql_query($sql,$conn) or die(mysql_error()); 
     while($result=mysql_fetch_array($rs)) { 
      $return_arr[] = array('value' => $result["email"]); 
     } 
     $data = json_encode($return_arr); 
     ?> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 
      var email_array = <?php echo $data; ?>; 

      $('#email').on('keyup',function(){ 
       if ($.inArray($(this).val(), email_array) !== -1) { 
        alert(); 
       } 
      }); 
     }); 
     </script> 

检查一个值在文本框中输入的时候就已经存在

我输入的是:<input type="text" id="email" />

当我键入一个电子邮件存在于JQuery数组中它不显示警报。

JQuery的数组的值是这样的:

var email_array = [{"value":"[email protected]"},{"value":"[email protected]"}]; 
+0

上面的代码应该可以正常工作。发布代码为'email_array' –

+0

请检查我的更新 – charlie

+0

这是问题所在。你必须有一个字符串数组,在这里你有对象数组。 –

回答

1

取代

$return_arr[] = array('value' => $result["email"]); 

$return_arr[] = $result["email"]; 

这将返回字符串数组,而不是数组对象

0

变化的JavaScript功能的代码:

if ($.inArray({"value":$(this).val()}, email_array) !== -1) { 
     alert(); 
} 
0

结帐这个输入代码hereDEMO这将由字符在任何数组校验字符。如果它有助于支持请。

相关问题