小编Gio*_*rgi的帖子

JQuery AutoComplete,手动选择第一个搜索项并绑定点击

我想手动选择自动填充中的项目,并在给定值的情况下单击它.

以下代码:

autocompleteitem.autocomplete("option", "autoFocus", true).autocomplete("search", autocompleteitem.val());
Run Code Online (Sandbox Code Playgroud)

autocompleteitem是一个输入对象,它包含我想要搜索的值.现在,此代码成功从下拉列表中选择第一个项目,但它没有单击它.我不想自己点击它我希望它以某种方式在该代码中发生.

我尝试了上面代码的以下添加功能:

   .click(), .select(), .trigger('select'), .find('a').click(), .change()
Run Code Online (Sandbox Code Playgroud)

有什么方法可以做到吗?

谢谢

请有人帮忙

javascript jquery jquery-autocomplete jquery-ui-autocomplete

8
推荐指数
2
解决办法
2万
查看次数

MySQL ID按ID和最新日期时间

我在这里看到了类似的问题,但没有一个能帮我解决问题.

我有一个表让我说测试(使用mysql MyISAM)

测试具有以下架构:

    TID INT PRIMARY KEY AUTO_INCREMENT
    TData varchar (data that i want to select)
    TUserID INT (this will be joined with users table, same users can have many records here)
    TViewedAt DATETIME (records each time user visits page, datetime format)
Run Code Online (Sandbox Code Playgroud)

现在,每当当前登录用户访问测试页面时,它都会向该表添加记录,记录访问过的用户ID,用户访问过的一些数据和日期和时间,每次TID自动递增.

然后我有一个后端管理页面,我可以看到哪个用户访问了测试页面,有多少次,数据和时间.基本上它是一个包含20-25个最新行列表的表.我的查询应该只为每个数据选择一个记录.用户可以在不同的时间使用相同的数据,但我只想为每个用户选择一个最新的数据.因此,如果用户访问测试页10次,则10条记录进入数据库,但在表上仅显示1条最新记录.如果另一个用户访问页面15次,则显示该第二个用户的1条记录,这是最新的记录,所以总共现在我们在桌面上显示2行.我得到了一切工作,但由于某种原因GROUP BY和MAX(日期)没有给我每个日期的最新日期时间.

这是我的查询:

   SELECT *
   FROM Test
   WHERE TUserID = 123
   GROUP BY TData
   ORDER BY TViewedAt
Run Code Online (Sandbox Code Playgroud)

返回2行,其中没有一行是最新的.

非常感谢

mysql sql select group-by

7
推荐指数
1
解决办法
2万
查看次数

Jquery Masked Input插件允许点

我正在使用JQuery Masked输入插件.

$("#percent").mask("99.99?9");
Run Code Online (Sandbox Code Playgroud)

这允许数字 10.999, 10.99, 01.999, 01.99

我想要实现的是我不希望用户输入01.99.相反,如果用户键入1.99我想01自动添加.这是我开始但不知道如何继续:

  //assume i typed in field 11.99
  $(document).on('keyup', '#percent', function(evt) {
    var input = $(this).val();
    alert(input); // 11.99_
    if(evt.which == '190' || evt.which == '110') {
       //if dot is clicked 
       alert(parseInt(input)); // 11
    }
});
Run Code Online (Sandbox Code Playgroud)

请注意,警报输入11.99_在末尾打印下划线,因为第三个值是可选的,我没有输入它.

现在,这个值是完全正常的,但如果用户输入的1.99,将不能因为它会自动移动91与填满它2的数字,所以它会作为回报19.9,这是无效的,因为必须有2定义如上小数.因此,在我的if语句中,我希望能够检测输入的内容是否小于10,如果小于10小数点,则0在开头添加.

好的,我发现了一个修复underscore _:

    $("#percent").mask("99.99?9", {placeholder: ""}) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-plugins maskedinput jquery-events

5
推荐指数
1
解决办法
3885
查看次数

PHP循环记录非常慢

我正在使用PDO.所以我有一个声明,准备一个查询来选择一堆记录.例:

   //select duplicates
   $stmt = $this->db->prepare('SELECT Name COUNT( * ) AS CNT
            FROM  `Test`
            GROUP BY Name
            HAVING CNT > 1');

   $stmt2 = $this->db->prepare('SELECT * FROM Test2 WHERE TName = ?');
Run Code Online (Sandbox Code Playgroud)

请注意,我确实需要选择所有数据,而不是某些列.该表包含5k记录,有时甚至更多.我需要选择所有5k记录,对于每个记录,我需要执行另一个查询来选择其他内容.

   $arr = array();
   while ($row = $stmt->fetch(DB::FETCH_ASSOC)) {
       $stmt2->execute($row['Name']);
       $arr[] = $stmt2->fetchAll(DB::FETCH_ASSOC);
   }
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用连接但是对于我的情况连接将不起作用,因为我需要遍历数据并为每个stmt1行执行stmt2.

当我运行它需要10-15分钟,我不能允许,我需要它更快.谁能告诉我这是什么问题?5k记录似乎没有多少循环.

      STMT1 returns up to 5.5k records
Run Code Online (Sandbox Code Playgroud)

我需要返回每个副本的数据:

php mysql pdo loops query-optimization

1
推荐指数
1
解决办法
591
查看次数