2015-09-16 93 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這將由字符在任何數組校驗字符。如果它有助於支持請。

相關問題