我正在尝试使用此代码:
<?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@domain.co.uk"},{"value":"email@domain.com"}];
答案 0 :(得分:1)
替换
$return_arr[] = array('value' => $result["email"]);
带
$return_arr[] = $result["email"];
这将返回字符串数组而不是对象数组
答案 1 :(得分:0)
将javascript函数的代码更改为:
if ($.inArray({"value":$(this).val()}, email_array) !== -1) {
alert();
}
答案 2 :(得分:0)
结帐此输入代码here
DEMO ,这将检查任何数组中的字符。如果它有助于支持请。