繁体   English   中英

Struts2 JQuery如何做onchange ajax

[英]Struts2 JQuery how to do onchange ajax

假设我有这样的sj:autocompleter:

<sj:autocompleter  id="idDistributor" 
name="idDistributor" 
list="%{idDistributorList}"  label="ID
Distributor"  indicator="indicator" />

当值改变时,我想将细节值传递给其他文本字段,如下所示:

<sj:textfield label="Nama Distributor" id="namaDistributor" name="namaDistributor" required="true"/>

其值将从struts back bean(FormAction)中检索。

我怎么能这样做?

非常感谢提前。

Mr.K

以下内容将autocompleter值发送到您的操作,并使用返回的字符串设置#namaDistributor的值:

$('#idDistributor').change(function(){
    // Make the ajax request
    $.ajax({
        url: 'path/to/back-bean.action',
        data: "autocompleterValue=" + $(this).val(),
        dataType: "json",
        success: function(data) {    
            // Set the inputs from the json object            
            $('#namaDistributor').val(data.distributor);
            $('#namaPrice').val(data.price);
        }
    });
});

您可以在此处阅读有关$ .ajax()方法的更多信息。 上面的json示例假设您的Action正在使用以下格式创建json对象:

{"price": "123.40", "distributor": "XYZ Inc."} 

您可以在本文中阅读有关在Struts2中使用json的更多信息。

你可以用onSelectTopics做到这一点。

订阅这样的主题:

<script>
$.subscribe('autocompleteSelect', function(event, data) {
  var ui = event.originalEvent.ui;
  $('#namaDistributor').val(ui.item.value);
});
</script>

并在它自动完成

<sj:autocompleter  id="idDistributor" 
name="idDistributor" onSelectTopics="autocompleteSelect"
list="%{idDistributorList}"  label="ID
Distributor"  indicator="indicator" />

你可以在Struts2 jQuery插件展示中找到一个例子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM