请问如何实现根据下拉列表的选中值完成相关后续内容的填充?

qq1212 2009-07-06 04:15:56
页面中有一下拉列表,想实现如下功能,根据选中的下拉项,用该下拉项的下标索引作为key从一个类似HashMap的自定义容器中获取相应值并设置到后续的text文本框中?

举例如下:

<select id="AA" onchange="setInfo()">
<option value=‘1’>李</option>
<option value=‘2’>王</option>
</select>

<input type="text" name="age">
<input type="text" name="sex">


现在我选中李,页面就从一个自定义的类UserInfo(所有信息已经全部从服务端返回了)中以“李”作为key获取“李”的age,sex等信息,并显示在text文本框中,这个js怎么写?
我写的是

var slt = document.getElementById("AA");
var txt = slt.text;

//userInfo为UserInfo类的实例变量
document.all.age.value = <%=userInfo.getUserInfo(txt, "age")%>;//获取age
document.all.sex.value = <%=userInfo.getUserInfo(txt, "sex")%>;//获取sex


可js中的这个txt死活传不进去?怎么才能在jsp元素中调用js的内容??
...全文
88 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq1212 2009-07-11
  • 打赏
  • 举报
回复
靠LS两位的思路做出来了 单单就用了json就搞定了
lishunpinggd 2009-07-07
  • 打赏
  • 举报
回复
我已经实现了,并附上了代码 .使用了servlet,jquery
lishunpinggd 2009-07-07
  • 打赏
  • 举报
回复
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
int selectId = Integer.parseInt(request.getParameter("selectId"));
System.out.println("selectId===>" + selectId);

UserInfo userInfo = new UserInfo(1, "李", 23, "男");
UserInfo userInfo2 = new UserInfo(2, "王", 25, "女");

JSONObject jsonObject = new JSONObject();


if (selectId == 1) {
try {
jsonObject.put("id", userInfo.getId());
jsonObject.put("name", userInfo.getName());
jsonObject.put("age", userInfo.getAge());
jsonObject.put("sex", userInfo.getSex());


} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
if (selectId == 2) {
try {
jsonObject.put("id", userInfo2.getId());
jsonObject.put("name", userInfo2.getName());
jsonObject.put("age", userInfo2.getAge());
jsonObject.put("sex", userInfo2.getSex());

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

System.out.println(jsonObject.toString());



if (selectId != -1) {
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();

out.print(jsonObject.toString());
}

<script type="text/javascript" src="js/jquery.js"></script>

<script type="text/javascript">
function setInfo(){
var selectId=document.getElementById('AA').value;

$.ajax({
type:"get",
url:"Select",
dataType:"json",
data:"selectId="+selectId,
success:function(msg){
var age=msg.age;
var sex=msg.sex;
document.getElementById('ageId').value=age;
document.getElementById('sexId').value=sex;

}

});
}

</script>

<select id="AA" onchange="setInfo()">
<option value="-1">请选择</option>
<option value="1">李</option>
<option value="2">王</option>
</select>

年龄:<input type="text" name="age" id="ageId">
性别:<input type="text" name="sex" id="sexId">



andy_today 2009-07-06
  • 打赏
  • 举报
回复
可以先將UserInfo的所有信息取出來轉化成一個字符串,然後保存到js的页面变量里。当拉列表选择后根据选择的姓,去判断字符位置,然后将姓后面两位的age,sex放到对应的文本框中
yukang_ky 2009-07-06
  • 打赏
  • 举报
回复
在java代码中调用js变量行不通,楼主还是换种思路吧。
qq1212 2009-07-06
  • 打赏
  • 举报
回复
其实这个userinfo也不是一个简单的map的,它实现了将所有的用户信息全部返回的功能,存的格式就是按照

李 25 男
王 23 女
钱 30 男
孙 35 男
。。。。。

这种样子的,如果不传这个txt字段(也就是name字段),是没法具体定位到某条记录了
等我获取了“李 25 男”这条记录 就能用userInfo.getUserInfo(key, property)获取property的具体值

所以我觉得其实没必要用ajax的 因为我所需的信息已经都返回了 关键是怎么根据这个key获取需要的信息这样了
qq1212 2009-07-06
  • 打赏
  • 举报
回复
这样不行难道不能实现了?谁给个思路?
sirtener 2009-07-06
  • 打赏
  • 举报
回复
LZ, 你这样的写法有问题吧, 你是想从Map集合中取出相应的值吧,

我个人的做法: 将页面获取的值通过Ajax(或Extjs)传到后台,根据传来的值动态生成相应的值,再实例化好的对象(UserInfo)set相应的值(age,sex), 在页面上直接写
document.all.age.value = <%=userInfo.getUserInfo("age")%>;//获取age
document.all.sex.value = <%=userInfo.getUserInfo("sex")%>;//获取sex
这样写应该就没问题了. 而你那样的写法是从Map集合中取得相应的值

或者是将后台得到的对应值填充到map(集合名称为userInfo)集合中,在页面就这样写了
document.all.age.value = <%=userInfo.get("age")%>;//获取age
document.all.sex.value = <%=userInfo.get("sex")%>;//获取sex
alpha_423 2009-07-06
  • 打赏
  • 举报
回复
<%=userInfo.getUserInfo(txt, "age")%>;//获取age
你这是在java代码中调用js变量了,这是不行的
fei1703 2009-07-06
  • 打赏
  • 举报
回复
这样应该可以
txt = slt.options[slt.getSelectedIndex].text
qq1212 2009-07-06
  • 打赏
  • 举报
回复
var slt = document.getElementById("AA");
var txt = slt.text;

//userInfo为UserInfo类的实例变量
document.all.age.value = <%=userInfo.getUserInfo(txt, "age")%>;//获取age
document.all.sex.value = <%=userInfo.getUserInfo(txt, "sex")%>;//获取sex

这是setInfo()的js代码
【实验六】 实验名称:演示文稿处理软件PowerPoint 2010 基本操作 实验目的: 1、熟悉PowerPoint的界面和常用基本操作。 2、掌握演示文稿的创建、编辑和格式化。 3、掌握幻灯片的动画设置和超链接设置。 4、掌握幻灯片的放映设置。 实验原理: PowerPoint的启动、保存方法;演示文稿建立的基本方法;演示文稿的编辑和格式 化方法;幻灯片的动画设置方法;幻灯片的超链接设置方法;幻灯片的放映方法。 仪器与材料:计算机,Windows 7操作系统,PowerPoint 2010 实验步骤: 演示文稿的打开、保存 1. 演示文稿的打开 启动PowerPoint,选择"文件" "打开"命令;出现"打开"对话框,在"查找位置"下拉列表 中确定文件所在位置,在列表中选择要打开的文档,单击"打开"按钮。 2. 演示文稿的保存 1. 选择"文件" "保存";或者单击快速访问工具栏的"保存"按钮;或者按"Ctrl+S"快捷键 。 2. 选择"文件" "另存为",会出现"另存为"对话框,此时可以选择保存位置以及输入文件 名。 幻灯片的制作与编辑 1. 添加幻灯片 插入若干新幻灯片作"正文页",即华夏旅游.ppt的后续幻灯片 1. 打开华夏旅游.ppt,并在"大纲/幻灯片"窗格中选中第一张幻灯片。 2. 选择"开始" "新建幻灯片",则在下拉菜单中出现系统提供的多种幻灯片版式。此处选 择"标题和文本"版式并单击,"书本"的第二页便产生了。 3. 在标题位置输入"演示内容说明",然后在文本区输入相应内容。 2. 删除幻灯片 1. 删除一张幻灯片,首先在"大纲/幻灯片"窗格单击选中某张幻灯片,按"Delete"键或在 选中区域单击右键选择"删除幻灯片"命令。 2. 删除多张连续幻灯片,先在"大纲/幻灯片"窗格选中第一张幻灯片,然后按"Shift"键, 单击最后一张幻灯片,则选中第一张与最后一张之间的多张幻灯片;按"Delete"键, 或在选中区域单击右键选择"删除幻灯片"命令。 3. 删除多张不连续的幻灯片,先在"大纲/幻灯片"窗格选中第一张幻灯片,然后按"Ctrl "键,依次单击目标幻灯片,选取完成后;按"Delete"键,或在选中区域单击右键选择 "删除幻灯片"命令。 3、使用幻灯片母版修饰幻灯片 1. 启动PowerPoint并打开演示文稿"华夏旅游公司.ppt"。选择该文稿中的第一张幻灯片为 当前幻灯片。 2. 在幻灯片视图中按住Shift键不放,单击"普通视图"按钮,或打开"视图"选项卡,单击 "母版视图"组中的"幻灯片母版"按钮,进入"幻灯片母版"视图。 3. 在"幻灯片母版"视图左侧窗格中将鼠标移至某个母版时,PowerPoint会提示此母版是否 能够使用。 4. 更改文本格式:选择幻灯片母版中对应的占位符,可以设置字符格式、段落格式等。 4、在"华夏旅游公司.ppt"中的标题母版和幻灯片母版中插入自选图形 1. 打开华夏旅游.ppt,进入"幻灯片母版视图",选中标题母版。 2. 在第一张幻灯片母版上的"单击此处编辑母版标题样式"区域,用"插入" "形状"下拉菜 单中的"矩形"绘制一个矩形,并作调整。选中矩形,选择"格式" "自选图形"在弹出的 "设置自选图形格式"对话框中设置填充内容、线条颜色等。 5、为华夏旅游.ppt的第一张幻灯片中的标题文本和艺术字设置进入动画。 1. 打开华夏旅游.ppt,选中第一张幻灯片。 2. 选取动画对象。选中标题文本,选择"幻灯片放映" "自定义动画",出现"自定义动 画"任务窗格。 3. 选择动画类型和样式,选择任务窗格的"添加效果" "进入",选取动画样式,此处选 择"飞入"。 4. 设置"飞入"动画效果。设置动画启动方式为"单击时","方向"设置为"自左侧"," 速度"设置为"中速"。 6、插入超链接,当"华夏旅游公司.ppt"放映至第二张幻灯片时,单击"公司近期线路 "可以直接跳到第六章幻灯片。 1. 打开华夏旅游.ppt,选中第二张幻灯片。 2. 选择"插入" "超链接",弹出"插入超链接"对话框。在"要显示的文字"文本框中显示 选中的文本。 3. 在"链接到"列表中选择"本文档中的位置",在"请选择文档中的位置"列表中选择" 幻灯片6",单击"确定按钮。"完成后,幻灯片中文本"公司近期线路"出现了下划 线,同时字体颜色发生变化。播放至第二张幻灯片时,把鼠标移到文本"公司近期 线路"上,鼠标指针会变成手形状,同时字体颜色又会发生变化,说明此处有"链 接"单击此处,则幻灯片跳至第六张。同时第二张幻灯片中被单击后的文本"公司 近期线路"颜色又发生了变化。 ----------------------- PPT实验报告(2)全文共4页,当前为第1页。 PPT实验报告(2)全文共4
KDP向导是Kindle Direct Publishing的组织者和列表工具,可与Airtable集成以增强您的KDP业务。 KDP向导是一款Chrome扩展程序,专门为创作者和作者设计,可以在自己的私有安全Airtable数据库中备份,组织和管理其KDP书架的全部内容。单击几下按钮即可同步书架数据,然后您可以随时轻松访问数据,并使用现有的书本数据作为开始模板轻松地重用该数据以列出新书。在https://kdpwizard.app上查找更多信息-但主要功能是:超快速的图书列表,只需单击几下向导即可立即填充所有图书创建页面。增强的列表功能可将任何页面中的任何内容复制并粘贴到尽可能多的页面想要的新页面,页面内智能下拉菜单可重复使用图书清单中以前保存的任何元素,并从中即时创建新的配置文件,然后根据需要进行修改。快速类别搜索键入几个字符并查看全部类别以秒为单位进行匹配,单击以选中它,您就可以完成书架中的销售数据集成一套完整的销售工具,为您提供仪表板摘要,所有销售的详细明细以及令人难以置信的喀欣声所有人都知道并喜欢您今天进行的每笔新销售,将您的整个KDP产品组合安全地备份到Airtable使用最安全,最受信任的在线数据库系统Airtable,您可以将KDP书架页面中的每一本书快速推送到您的o如此一来,只有您完全可以控制内置集成功能,以便将其集成到其他书店中。轻松将您的KDP图书推到Barnes&Noble,Rakuten Kobo和Google Play图书中,以后还会有更多后续内容。有史以来功能最强大的搜索无与伦比的搜索,过滤器和排序集合。您可以比以往更快地找到您要查找的确切书。无限分析数据有了数据打包的基础,您可以查看书籍的销售情况,评论情况和排名,以便您随时随地掌握最新动态,并从内而外了解您投资组合的表现。在我们的网站上找到更多信息-https://kdpwizard.app 支持语言:English
没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两种类型:“类型”和“引用类型”。类型包括简单类型(如 char、int 和 float 等)、枚举类型和结构类型。引用类型包括类 (Class)类 型、接口类型、委托类型和数组类型。 变量的类型声明 变量的类型声明 每个变量必须预先声明其类型。如 int a; int b = 100; float j = 4.5; string s1; 用 object 可以表示所有的类型。 预定义类型 下表列出了预定义类型,并说明如何使用。 类型 object 说明 所有其他类型的最终 基类型 字符串类型; 字符串是 Unicode 字符序列 8 位有符号整型 16 位有符号整型 32 位有符号整型 64 位有符号整型 示例 object o = null; 范围 string sbyte short int long string s = "hello"; sbyte val = 12; short val = 12; int val = 12; long val1 = 12; -128 到 127 -32,768 到 32,767 -2,147,483,648 2,147,483,647 -9,223,372,036,854,775,808 到 第1页 C#(WINFORM)学习 long val2 = 34L; 到 9,223,372,036,854,775,807 byte ushort 8 位无符号整型 16 位无符号整型 byte val1 = 12; ushort val1 = 12; uint val1 = 12; uint 32 位无符号整型 uint val2 = 34U; ulong val1 = 12; ulong val2 = 34U; ulong 64 位无符号整型 ulong val3 = 56L; ulong val4 = 78UL; float 单精度浮点型 float val = 1.23F;7 位 double val1 = 1.23; double 双精度浮点型 double val2 = ±5.0 × 10?324 ±1.7 × 10 308 0 到 255 0 到 65,535 0 到 4,294,967,295 0 到 18,446,744,073,709,551,615 ±1.5 × 10?45 ±3.4 × 10 38 到 到 4.56D;15-16 布尔型;bool 或为 真或为假 字符类型;char 是 一个 Unicode 字符 精确的小数类型, 具有 28 个有效数字 bool val1 = true; bool val2 = false; char val = 'h'; decimal val = bool char decimal DateTime ±1.0 × 10?28 ±7.9 × 10 28 到 1.23M;28-29 变量转换 简单转换: float f = 100.1234f; 可以用括号转换: short s = (short)f 也可以利用 Convert 方法来转换: string s1; s1=Convert.ToString(a); MessageBox.Show(s1); 常用 Convert 方法有: 第2页 C#(WINFORM)学习 C# Convert.ToBoolean Convert.ToByte Convert.ToChar Convert.ToDateTime Convert.ToDecimal Convert.ToDouble Convert.ToInt16 Convert.ToInt32 Convert.ToInt64 Convert.ToSByte Convert.ToSingle Convert.ToString Convert.ToUInt16 Convert.ToUInt32 Convert.ToUInt64 备注 Math 类 常用科学计算方法: C# Math.Abs Math.Sqrt Math.Ro

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧