【发布时间】:2014-04-24 01:08:13
【问题描述】:
我想按照这个逻辑编辑我的数据库中的一些元素: 我从下拉列表中选择了一个项目(自动完成),其他字段根据已经选择的字段直接从数据库中填充,以便我可以编辑数据。
如何在JSP页面中使用Ajax来做这种处理?
$(document).ready(function() {
$('#datepicker').datepicker();
$('#field1').change(function()
{
//code ajax wich select the row from database and return the values on the same form
}
);
});
JSP 代码:
<s:form cssStyle="border:0;" validate="true" action="add" namespace="/" >
<sx:autocompleter id="field1" label="field1" list="liste1" name="liste"></sx:autocompleter>
<s:textfield name="field2" label="field2" size="15" ></s:textfield>
<s:select style="height:30px; width:125px" name="field3" label="field3" headerValue="Select" list="liste2"></s:select>
<s:submit style="height:30px; width:125px" name="Valider" value="Valider"></s:submit>
</s:form>
有什么帮助吗?
编辑:
我想从自动完成字段中传递一个选定的值
$(document).ready(function()
{
$('#field1').change(function()
{
var selectedValue = $('#field1 option:selected').val();
if ($.trim(selectedValue).length > 0)
{
$.ajax(
{
type: 'POST',
url: 'action/action1',
data: { field1 : selectedValue},
dataType: 'json',
async: false ,
contentType: 'application/json; charset=utf-8',
success: function(){window.alert(selectedValue);}
});
}
}
);
});
编辑 2:
行动:
public String query()
{
if( !field1.equals("") || field1 != null)
{
Service = new ServiceImpl();
v = new Vehicule();
v= Service.getVehiculeByImmat(field1);
map.put(field2.toString(), v.getfield2().toString());
map.put(date.toString(), v.getdate().toString());
}
return "success";
}
struts.xml:
<action name="query" class="action.GestionVehicules" method="query">
<result name="success" type="json">map</result>
</action>
ajax:
$(document).ready(function()
{
$('#field1').change(function()
{
var selectedValue = $('#field1').val();
if ($.trim(selectedValue).length > 0)
{
$.ajax(
{
type: 'POST',
url: '<s:url action="query"/>',
data: { field1: selectedValue},
dataType: 'json',
success: function(){alert(data);}
});
}
}
);
});
这是真的吗?
编辑 3:
javascript:
$(document).ready(function()
{
$('#field1').change(function()
{
var selectedValue = $('#field1').val();
if ($.trim(selectedValue).length > 0)
{
alert(selectedValue);
$.ajax(
{
type: 'POST',
url : "<s:url action='query'/>",
dataType : 'json',
data: { field1: selectedValue},
success: function(result){
// alert(result);
if (result.length > 0) {
//code to put hashmap values into textfield
//put map.get("key1") into textfield1 ....
});
}
},
});
}
}
);
});
编辑 4:
javascript:
$.each(result, function(key,value)
{ $("#"+key).val(value); // how can it works with dropdown list ??
} );
【问题讨论】:
-
当您向服务器调用 ajax 请求时,它应该使用可用于修改页面 DOM 的数据进行响应。
-
如何将参数从 ajax 传递到 action,然后从 action 传递到 ajax?
-
你要传递什么参数?
-
我想传递一个选定的值,我编辑了帖子,请帮忙!!
-
您是如何在
struts.xml中或按照惯例映射操作的?
标签: java jquery ajax jsp struts2