先贴代码
<tr class="tr_data1">
<td>公司名称</td>
<td><select name="companyName" size="1" style="position:absolute; left: 237px; top: 85px; width: 220px; height: 20px;
clip: rect(0 237 18 200)" onchange="company_name.value=companyName.value; company_name.select()">
<%
for(Iterator iter = list.iterator(); iter.hasNext(); ) {
piv = (PropertyInfoView)iter.next();
%>
<option value="<%=piv.getId() %>"><%=piv.getCompanyName() %></option>
<%
}
%>
</select><input type="text" size="35" name="company_name" style="position:absolute; left: 237px; top: 85px; width: 220px; height: 18px"></td>
</tr>
-----------------------------
输入框 下拉框在一起 ,下拉的数据读取的是数据库
现在:company_name.value=companyName.value
上面这句话显示的是 前面的id,我想显示select中间的值,改如何解决?
问题2 :现在可以保存,选择下拉的话。
但要是输入的话,输入的公司还保存不上,只能默认保存 下拉默认选中的。
问题3:input输入 如何 显示 数据库里面相关的信息,并 在下拉显示
------解决方案--------------------------------------------------------
问题1:
onchange="company_name.value=companyName.value; company_name.select()"
改一下吧:
onchange="company_name.value=renderInput(this); company_name.select()">
定义函数renderInput
function renderInput(obj){
var opts = obj.options;
for(var i = 0 ; i < opts.length ; i ++){
if(opts[i].checked == "true" || opts[i].checked == "checked"){
document.getElementById("companyName").value = opts[i].text;
}
}
}
问题2:
不清楚你的需求,你干脆这样嘛,将输入框中的值使用js添加至下拉框中,再将添加进去的值选中不就OK了嘛
问题3:
你上面的select中的值不就是从数据库查出来的么?还需要怎么样啊?
------解决方案--------------------------------------------------------
你的输入框是查找select的值还是从服务器从新匹配新数据?
如果是查找select里面的值,可以参考这个示例
select对象option的autocomplete自动完成
如果是从服务器下载数据,input添加onblur事件,blur的时候ajax将输入框的值发送到动态页,动态页查询数据库后返回html代码,如<select name="xxx"><option value="xxx">xx</option>...</select>这种,然后设置select容器的innerHTML就行了,注意要给select加一个容器
<label>
<select name="companyName" size="1" style="position:absolute; left: 237px; top: 85px; width: 220px; height: 20px;
clip: rect(0 237 18 200)" onchange="company_name.value=companyName.value; company_name.select()">
<%
for(Iterator iter = list.iterator(); iter.hasNext(); ) {
piv = (PropertyInfoView)iter.next();
%>
<option value="<%=piv.getId() %>"><%=piv.getCompanyName() %></option>
<%
}
%>
</select></label>
------解决方案--------------------------------------------------------
ajax填充:
$.ajax({
type: "post",
url: "/yoblhtjfx/queryArea.action",
data: "parm="+val+"&jsoncallback=?",
dataType: "json",
success: function(json){
var list = json.list;
$("#inUnitAreaId").empty();
$("#inUnitAreaId").prepend("<option value=''>请选择</option>");
for(var i=0;i<list.length;i++)
{
$("#inUnitAreaId").append("<option value='"+list[i][0]+"'>"+list[i][1]+"</option>");
}
}
});
$("#projectId").val(val+"1");
动态时间查询: