JQuery,如果值在数组中

时间:2015-09-16 07:09:06

标签: 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@domain.co.uk"},{"value":"email@domain.com"}];

3 个答案:

答案 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 ,这将检查任何数组中的字符。如果它有助于支持请。