Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在jquery令牌字段中获取重复值,如何避免这些重复值_Php_Jquery_Codeigniter - Fatal编程技术网

Php 在jquery令牌字段中获取重复值,如何避免这些重复值

Php 在jquery令牌字段中获取重复值,如何避免这些重复值,php,jquery,codeigniter,Php,Jquery,Codeigniter,大家好,我正在使用jquerytokenfield,因为多次获得相同的用户名,所以我希望它只出现在下面一次。我发布了我的代码。您能告诉我如何避免重复值吗。 下面是带有文本框的脚本中标记字段的代码。我正在使用codeigniter框架 <input type="text" name="txt" class="get_username"> <script> function get_token_field() { $('.get_username').tokenf

大家好,我正在使用jquerytokenfield,因为多次获得相同的用户名,所以我希望它只出现在下面一次。我发布了我的代码。您能告诉我如何避免重复值吗。

下面是带有文本框的脚本中标记字段的代码。我正在使用codeigniter框架

<input type="text" name="txt" class="get_username">

<script>
function get_token_field() {
    $('.get_username').tokenfield({
        autocomplete: {
            source: "<?= base_url('controller/method name') ?>",
            delay: 100
        },
        showAutocompleteOnFocus: true
    });
}
</script>
Codeigniter模型中的以下脚本

public function get_user_names($name) {

    $this->db->select('*');
    $this->db->from('users');

    $this->db->like('username', $name);

    $query = $this->db->get();
    if ($query->num_rows() > 0) {
        foreach ($query->result_array() as $row) {
            $test[] = $row['username'];

        }
        echo json_encode($test); //format the array into json data
    }
}

请尝试下面的代码,它将检查您现有的令牌,如果您输入double,它将阻止

  $('.get_username').on('tokenfield:createtoken', function (event) {
        var tokens = $(this).tokenfield('getTokens');
        $.each(tokens, function(index, token) {
            if (token.value === event.attrs.value)
                event.preventDefault();
        });
    });

朋友们好,我试过这个,但仍然不起作用。我正在调用一个函数,它将查找tokenfield,所以在调用函数后,我已经包含了您的脚本并删除了我的脚本,但这次没有得到一个value@MSp不要删除脚本,只需将其添加到脚本下面即可。谢谢你的回答,很好,现在还有一件事是,如果我有两个同名的人,例如:1)sumesh,2)sumesh,它只选择了一个人名,但忽略了最后一个人名,但他们的id不同。请告诉我如何获取这两个人,即使他们有相同的名字。@MSp你在文本框中绑定的只是用户名,所以无法获取id或者id和该字段的用途是什么。不能像这样在文本框中绑定id和人名。
  $('.get_username').on('tokenfield:createtoken', function (event) {
        var tokens = $(this).tokenfield('getTokens');
        $.each(tokens, function(index, token) {
            if (token.value === event.attrs.value)
                event.preventDefault();
        });
    });