我正在使用下面流行的JQuery Autocomplete插件.
http://jqueryui.com/demos/autocomplete/
目前,如果您键入短语,则会显示下拉列表,但是当您单击它时会隐藏它.这可以.但是,将下拉列表返回的唯一方法是单击输入字段并键入更多字符或按下keydown.
有关如何在用户单击输入字段时触发结果下拉列表的任何想法?我试图触发输入字段的焦点事件,但这不起作用.当输入字段被聚焦时,我需要手动调用自动完成下拉事件.谢谢.
我有两个表,位置和位置组
CREATE TABLE locations (
location_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(63) UNIQUE NOT NULL
);
INSERT INTO locations (name)
VALUES
('london'),
('bristol'),
('exeter');
CREATE TABLE location_groups (
location_group_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
location_ids VARCHAR(255) NOT NULL,
user_ids VARCHAR(255) NOT NULL,
name VARCHAR(63) NOT NULL,
);
INSERT INTO location_groups (location_ids, user_ids, name)
VALUES
('1', '1,2,4', 'south east'),
('2,3', '2', 'south west');
Run Code Online (Sandbox Code Playgroud)
我想要做的是返回给定 user_id 存在的所有 location_groups 的所有 location_ids。我正在使用 CSV 将 location_ids 和 user_ids 存储在 location_groups 表中。我知道这不是规范化的,但这就是数据库的方式,它超出了我的控制。
我目前的查询是:
SELECT location_id …
Run Code Online (Sandbox Code Playgroud) 如何使用sprintf()
一个值替换字符串中的多个占位符?我知道通常您会为每个占位符传递 1 个变量,但我知道如果您使用格式%1$s
而不是%s
可以传递单个值,但我似乎无法让它工作。
我实际上将其用作参数化的 sql 查询,但为了方便起见,这里有一个示例
$name = "Bill";
$string = "hello ?, your name is ? ";
$string = sprintf(str_replace("?","'%1$s'",$string ),$name);
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用。我还希望它适用于单个占位符,例如
$name = "Bill";
$string = "hello ?";
$string = sprintf(str_replace("?","'%1$s'",$string ),$name);
Run Code Online (Sandbox Code Playgroud)
注意:我具体不是在谈论使用传递数组,vsprintf()
因为只有 1 个值。对我来说多次传递相同的值似乎毫无意义。
谢谢