Struts2 文本字段中的更改
Onchange in Struts2 textfield
我想根据我在 S2 文本文件中输入的字符串将所有记录从 DB 获取到 JSP。在仅输入文本文件时,我想将所有记录作为 table in JSP.
例如:
在 textfiled 中,当我输入 'a' 时,我想显示所有与输入字符 'a' 匹配的记录。假设在我的数据库中,我有一些值 'name' 列为 'abc'、'def'、'bac'、'dea' 等。然后我想从数据库中获取列值为 'abc'、'bac' 和 'dea' 的所有行。 它非常像 HTML 中的 onchange 事件。 在这里我可以查询像 'select name from tablename where name like% %'。
所以在 JSP,
No Name Address
-------------------------
1 abc addrs1
2 bac addr2
3 dea addr3
虽然我尝试使用
<s:textfield label="Search" name="keyword" id="keyword" onchange="search()"/>
没用。
虽然我尝试
<s:textfield label="Search" name="keyword" id="keyword" onkeypress="search()"/>
它也完全不起作用。这里 onkeypress 事件机制起作用。输入 'ab' 后,只有值 'a' 会被发送到操作 class。行。有没有其他方法可以做到这一点。
$.getJSON('/test/giveMeJsonData.action ',{cartId: cartId},function(json){
itemsHtml = "<table>";
for (i in json.items) {
itemsHtml += "<tr>";
itemsHtml += "<td>" + json.items[i].id + "</td>";
itemsHtml += "<td>" + json.items[i].name + "</td>";
itemsHtml += "<td>" + json.items[i].address + "</td>";
itemsHtml += "</tr>";
}
itemsHtml += "</table>";
$('#cartItems').html(itemsHtml);
});
尝试onkeyup
,它会在执行按键时调用JavaScript:
<s:textfield label="Search" name="keyword" id="keyword" onkeyup="search()"/>
function myFunction() {
var x = document.getElementById("searchText").value;
alert(x);
}
<input type="text" id="searchText" onkeyup="myFunction()">
您所说的小部件称为自动完成器(也就是说,猜猜是什么,由键盘事件触发的具有自动完成功能的文本字段)。
您可以使用 javascript 小部件轻松实现此目的(例如 jQuery autocompleter), and in Struts2 you can also opt for the struts2-jquery-plugin's Autompleter。
在操作中,return 列表或数组:
public String[] getMyList() {
return myList;
}
在JSP中,这样使用:
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
<head>
<sj:head jqueryui="true"/>
</head>
<body>
<sj:autocompleter list="%{myList}"/>
</body>
</html>
我想根据我在 S2 文本文件中输入的字符串将所有记录从 DB 获取到 JSP。在仅输入文本文件时,我想将所有记录作为 table in JSP.
例如:
在 textfiled 中,当我输入 'a' 时,我想显示所有与输入字符 'a' 匹配的记录。假设在我的数据库中,我有一些值 'name' 列为 'abc'、'def'、'bac'、'dea' 等。然后我想从数据库中获取列值为 'abc'、'bac' 和 'dea' 的所有行。 它非常像 HTML 中的 onchange 事件。 在这里我可以查询像 'select name from tablename where name like% %'。
所以在 JSP,
No Name Address
-------------------------
1 abc addrs1
2 bac addr2
3 dea addr3
虽然我尝试使用
<s:textfield label="Search" name="keyword" id="keyword" onchange="search()"/>
没用。
虽然我尝试
<s:textfield label="Search" name="keyword" id="keyword" onkeypress="search()"/>
它也完全不起作用。这里 onkeypress 事件机制起作用。输入 'ab' 后,只有值 'a' 会被发送到操作 class。行。有没有其他方法可以做到这一点。
$.getJSON('/test/giveMeJsonData.action ',{cartId: cartId},function(json){
itemsHtml = "<table>";
for (i in json.items) {
itemsHtml += "<tr>";
itemsHtml += "<td>" + json.items[i].id + "</td>";
itemsHtml += "<td>" + json.items[i].name + "</td>";
itemsHtml += "<td>" + json.items[i].address + "</td>";
itemsHtml += "</tr>";
}
itemsHtml += "</table>";
$('#cartItems').html(itemsHtml);
});
尝试onkeyup
,它会在执行按键时调用JavaScript:
<s:textfield label="Search" name="keyword" id="keyword" onkeyup="search()"/>
function myFunction() {
var x = document.getElementById("searchText").value;
alert(x);
}
<input type="text" id="searchText" onkeyup="myFunction()">
您所说的小部件称为自动完成器(也就是说,猜猜是什么,由键盘事件触发的具有自动完成功能的文本字段)。
您可以使用 javascript 小部件轻松实现此目的(例如 jQuery autocompleter), and in Struts2 you can also opt for the struts2-jquery-plugin's Autompleter。
在操作中,return 列表或数组:
public String[] getMyList() {
return myList;
}
在JSP中,这样使用:
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
<head>
<sj:head jqueryui="true"/>
</head>
<body>
<sj:autocompleter list="%{myList}"/>
</body>
</html>