【问题标题】:Reading selected value from struts2 jquery autocompleter using javascript使用javascript从struts2 jquery自动完成器中读取选定的值
【发布时间】:2013-10-25 08:23:05
【问题描述】:

我有一个 jsp 页面和一个 struts2-jquery 自动完成器。自动完成器加载了值,每当我选择一个值时,我都想将该值检索到 JavaScript 函数。

我的代码如下。但它不起作用。

JavaScript 代码:

function loadAjax(){                        
  var empId=document.forms[0].employeename.value;
  alert("Value "+empId); 
}                  

自动完成代码:

<sj:autocompleter name="employeename" id="employee" label="Employee ID" list="employeeMap" onchange="loadAjax();"/>

【问题讨论】:

标签: javascript jquery jsp struts2 autocomplete


【解决方案1】:
<sj:autocompleter 
    id="employee" name="employeename" label="Employee ID" 
    list="employeeMap" onSelectTopics="loadAjax"/>

在您的 javascript 部分添加以下提及代码。

<script type="text/javascript">
$.subscribe('loadAjax', function(event, data) 
{
     var empId = data.value;
     alert(empId);
});
</script>

问候

【讨论】:

    【解决方案2】:
    <html>
    <head>
    <sx:head />
    </head>
    
    
    <body>
    <h1>Struts 2 autocompleter + JSON example</h1>
    
    <s:form action="resultAction" namespace="/" method="POST" >
    
    <s:url id="databaseList" action="databaseJSON" />
    
    <sx:autocompleter label="What's your favorite Database Server?" 
    href="%{databaseList}" name="yourFavDatabase" />
    
    <s:submit value="submit" name="submit" />
    
    </s:form>
    
    </body>
    </html>
    

    【讨论】:

    • 我需要在 JavaScript 函数中获取选中的值。此代码似乎没有有效的 JavaScript 函数。无论如何感谢您的尝试。
    【解决方案3】:

    onchange() 事件不适用于 JQuery 自动完成器。尝试使用按钮及其 onclick() 事件。

    【讨论】:

    • 感谢您的建议。如果您能弄清楚如何使用 Autocompleter 本身获取值,那将会很有帮助。
    【解决方案4】:

    Use onSelectTopics

    <sj:autocompleter name="employeename" id="employee" label="Employee ID" list="employeeMap" onSelectTopics="auto-select"/>
    
        <script>
        $(function(){
        $.subscribe("auto-select",function(event){
           console.log(event.originalEvent.event);
           console.log(event.originalEvent.ui);
           console.log(event.originalEvent.ui.item.desc);
           console.log(event.originalEvent.ui.item.value);
        });
    });
    </script>
    

    以上代码未经测试,使用来自jquery-ui的参考编写

     $( "#project" ).val( ui.item.label );
            $( "#project-id" ).val( ui.item.value );
            $( "#project-description" ).html( ui.item.desc );
            $( "#project-icon" ).attr( "src", "images/" + ui.item.icon );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多