我有一个表格,包括:
<input type="text" id="model">
<input type="text" id="serial">
<input type="text" id="lot_no">
<select id="line">
除此之外,我在 settingdata
表中有数据:
Model Serial Lot_no Line
abc 0001 012a 1
abc 0101 022a 1
我想如果我在#model 中键入abc,然后在#serial 中键入0101
,那么数据库中的数据将显示为:
#lot_no -> 022a
#line -> 1
我希望#lot_no 和#serial 可以在我们在第一个和第二个文本字段中键入一些数据后自动填充。 我该怎么做?
$('#serial').blur(function(){
$.ajax({
用 mysql 查询这个怎么样?
最佳答案
设置一个客户端函数 - 当序列和/或模型文本框失去焦点时,您将触发一个 Ajax 调用来检索其他 2 个值。然后将它们分配给其他文本框和下拉列表。
$('#serial').blur(function() {
$.ajax({
type: "POST",
url: "yoururl?serial=x&model=y",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
SetValues(msg);
}
});
});
那么您显然需要一些服务器端逻辑来检索另外两个值。例如,一个 ashx 处理程序或一个 web 服务,它执行如下操作:
// Get results from the database, then return them in an anonymous object
return select new
{
Textboxvalue = "abc",
Dropdownvalue = "xyz
};
最后,回到您的客户端逻辑,获取 ajax 调用的结果并使用它们填充第二个文本框和下拉列表。
function SetValues(obj)
{
$('#lot_no').val(obj.Textboxvalue);
$('#line').val(obj.Dropdownvalue);
}
显然,要使上面的代码正常工作,还需要做一些工作,但它应该让您大致了解如何继续。
编辑:我的服务器端示例显然不是用 php 编写的,但仍然应该为您提供它的一般要点。
关于php - 填充两个文本字段后显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975221/