gpt4 book ai didi

java - 将 SQL 数据引入 jquery availabletag

转载 作者:行者123 更新时间:2023-12-01 01:43:47 25 4
gpt4 key购买 nike

我正在尝试制作自动完成文本框,但如何将 SQL 数据包含到 jquery 可用标记并循环它?我无法根据以下代码执行该功能。任何帮助,将不胜感激!谢谢

这是我的预期输出:Expected Result Demo

jquery 代码错误

我的文本框仅列出数据库中的最后一行数据。 enter image description here

<%
String FRUIT_CODE = "";
String FRUIT_DESCP= "";
Vector vFruit = new Vector();

TEST.makeConnection();
String SQL = "SELECT CODE,DESCP FROM TB_FRUIT WITH UR";
TEST.executeQuery(SQL);
while(TEST.getNextQuery())
{
FRUIT_CODE = TEST.getColumnString("CODE");
FRUIT_DESCP = TEST.getColumnString("DESCP ");
Vector vRow = new Vector();
vRow.addElement(FRUIT_CODE);
vRow.addElement(FRUIT_DESCP);
vFruit.addElement(vRow);
}
TEST.takeDown();
%>

<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">

<script>
$(function() {
var availableTags =
[{
<%
String COMBINE = "";
String CODE2 = "";
String DESC1 = "";
for(int i=0;i<vFruit.size();i++)
{
Vector vRow = (Vector) vFruit.elementAt(i);
CODE2 = (String) vRow.elementAt(0);
DESC1 = (String) vRow.elementAt(1);
COMBINE += "\"" + CODE2 +" "+ DESC1 + "\",";
}
COMBINE = COMBINE.substring(0, COMBINE.length()-1);

//Combine result = "10000 Apple","20000 Orange", "30000 Mango", "40000 Banana"
%>

"value": <%=CODE2%>,
"label": <%=COMBINE%>
}];

$("#MODEL").autocomplete({
source: availableTags,
focus: function (event, ui) {
event.preventDefault();
$("#MODEL").val(ui.item.value);
}
});
});
</script>

<body>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="MODEL">
</div>
</body>
</html>

最佳答案

生成 availableTags 的 scriptlet 不会为 vFruit Vector 中的每个值添加新对象,而只会为最后一个值添加新对象。它应该像这样修补:

var availableTags = [
<%
String CODE2 = "";
String DESC1 = "";
for(int i=0;i<vFruit.size();i++)
{
Vector vRow = (Vector) vFruit.elementAt(i);
CODE2 = (String) vRow.elementAt(0);
DESC1 = (String) vRow.elementAt(1);
if (i > 0) out.print(",");
%>
{
"value": "<%= CODE2 %>",
"label": "<%= DESC1 %>"
}
<%
}
%>
];

$("#MODEL").autocomplete({
...

顺便说一句。为什么是Vector而不是例如数组列表?您在这里需要线程安全的实现吗?看来并非如此。

关于java - 将 SQL 数据引入 jquery availabletag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31693009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com