select2单击重定向 - php

我正在使用select 2插件来搜索用户。一切都在运行,我的jsons最终以:[{"id":"1","text":"Alex Fagard (afagard) ID: 1"}] .etc。

我正在使用以下代码来构建select 2接口:

$(document).ready(function(){
   $('#username-search').select2({
    minimumInputLength: 2,
    select: function(event, ui) {
        AutoCompleteSelectHandler(event, ui)
    },
    ajax: {
      url: "classes/search.class.php?sType=users",
      dataType: 'json',
      data: function (term, page) {
        return {
          term: term
        };
      },
      results: function (data, page) {
        return { results: data };
      }
    }
  });
});

但是,我坚持如何做到这一点,以便当管理员选择用户(也就是单击其下拉区域)时,页面将重定向到userview.php?id=1,其中1是JSON数组的ID。

搜索功能(如果有人感兴趣):

public function searchUsers($term = '') {
    if (isset($term)) {
        $term = parent::secure($term);
        $params = array( ':searchQ' => $term . '%' );
        $sql = "SELECT distinct username as suggest, user_id, name
                FROM login_users
                WHERE username LIKE :searchQ
                OR name LIKE :searchQ
                OR user_id LIKE :searchQ
                ORDER BY username
                LIMIT 0, 5";

        $stmt = parent::query($sql, $params);

        if ( $stmt->rowCount() > 0 ) {
            while($suggest = $stmt->fetch(PDO::FETCH_ASSOC)) {
                $data[] = array(
                    'id' => $suggest['user_id'],
                    'text' => $suggest['name'] . ' (' . $suggest['suggest'] . ')' . ' ID: ' . $suggest['user_id'],
                );
            }
        } else {
            $data[] = array('id'=>'0', 'text'=>'No results found!');
        }
        echo json_encode($data);
        flush();
    }
}
$searchParam = new Search();

if (isset($_GET['term'])) {
    // we secure the term before running the search and querying the database
    $term = $_GET['term'];
    switch (isset($_GET['sType']) ? $_GET['sType'] : NULL) {
        case 'users':
            $searchParam->searchUsers($term);
        break;
        case 'levels':
            $searchParam->searchLevels($term);
        break;
    }
}

参考方案

发布此问题一年后遇到了同样的问题,并用Google搜索了一些内容,结果到这里忘了我一开始就发布了。

找到解决方案:

<script>
$(document).ready(function () {
    $("#search").select2({
        ajax: {
            url: "users.php",
            dataType: 'json',
            data: function (term) {
                return {
                    term: term,
                };
            },
            results: function (data) {
                return {results: data};
            }
        }
    });
    $("#search").on("select2-selecting", function(e) {
        window.location.href = 'user_edit.php?id=' +  e.val;
    });
});
</script>

使用jQuery将值增加到attr - php

我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

获取PHP中的cookie值? - php

我在jQuery中创建cookie。我可以在Firefox中进行验证。但是,当我尝试打印cookie或将其分配给另一个值时,我无法获取它。我也使用会话。然后,我用PHP开始了会议。我的打印或分配cookie值的代码如下所示echo $_COOKIE['a']; 用于分配值$b=$_COOKIE['a']; 使用jQue…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…