javascript - 使用 javascript 或 jquery 检测 struts2 自动完成器标记值的变化

标签 javascript java jquery struts2 dojo

我正在开发 Struts 2 应用程序。在我的应用程序中,我需要使用 Struts 2 autocompleter 标记。为此,我使用了 struts2-dojo-plugin-2.3.1.2.jar jar 文件。一旦值发生变化,我需要从自动完成器中获取值。我尝试使用 onchange 事件,但它不起作用。这是我的代码:

<%@taglib uri="/struts-dojo-tags" prefix="sx"%>
<html>
<head>
<script type="text/javascript">
function abc() {
    var a = dojo.widget.byId("country");
    var value1 = a.getSelectedValue();
    document.getElementById("myText").value = value1;
}
</script>
<sx:head />
</head>
<body>
<sx:autocompleter name="country"
id="country" onchange="abc();" list="cricketNations" />
</body>
</html>

我该如何实现这一目标。帮我解决这个问题。

最佳答案

struts2-dojo-plugin已弃用。您需要使用 <sj:autocompleter> 来自 .

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
    <sj:head jqueryui="true"/>
  </head>
  <body>
   <div id="myText" class="result ui-widget-content ui-corner-all"></div>

   <sj:autocompleter name = "country"
                       id = "country" 
           onChangeTopics = "autocompleteChange" 
                     list = "%{cricketNations}" />
   <script>
     $.subscribe('autocompleteChange', function(event, data) {
       var ui = event.originalEvent.ui;
       var message = ui.item.value;
       if (ui.item.key) {
         message = '( '+ ui.item.key +' ) '+message;
       }
       $('#myText').html('&lt;b&gt;'+message+'&lt;/b&gt;');
     });
   </script>

  </body>
</html>

关于javascript - 使用 javascript 或 jquery 检测 struts2 自动完成器标记值的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455385/

相关文章:

javascript - 正确使用 .is (':visible' )

javascript - node.js 中的 UDP 跟踪器抓取意外返回零

java - Eclipse 包资源管理器中的不同 IResource

java - 字符串实习真的有用吗?

java - 封闭类成员的内部类访问

jquery - 单击后如何更改回 CSS 属性?

javascript - 允许 chrome ://history-frame to load in an iframe 的任何方式

javascript - 是否可以将类添加到自定义 tinyMCE 按钮?

javascript - 将子菜单指示器添加到 li 项目纯 JavaScript

javascript - JQuery 获取关于类名的多个列的索引