如图,我想让每个名字占一行该怎么做

yghuaa 2014-01-17 04:10:24


在前端我已经获取了每个名字,但却无法将它显示出来
var innerdetail = unescape(xmlhttp.responseText),
txt = innerdetail.split(",");
for (i = 0; i < txt.length; i++) {
var opt = new Option();
opt.value = txt[i];
opt.text = txt[i];
var selobject = document.getElementById("keytishi");
selobject.innerHTML"<lu><li>"+txt[i]+"</li></lu><br/>"; }
要怎么修改呢
...全文
231 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yghuaa 2014-01-17
  • 打赏
  • 举报
回复
引用 11 楼 MengYouXuanLv 的回复:

var txt = "aaaa,bbbb,cccc,dddd".split(",");
var html = "";
for (i = 0; i < txt.length; i++) {
html += "<li>" + txt[i] + "</li>";
}
var selobject = document.getElementById("keytishi");
selobject.innerHTML = "<ul>" + html + "</ul>";
selobject.style.display = "block";

按你的方法成功了!!,但是有一个问题我选择下拉选项的一个名字后,文本框内全部都写了进来,
并且是 undefined
<div id="keytishi" ondblclick="aa()"></div>
function aa() {
document.getElementById("keytishi").style.display = "none";
document.getElementById("search").value = document.getElementById("keytishi").value;
}
allali 2014-01-17
  • 打赏
  • 举报
回复

var txt = "aaaa,bbbb,cccc,dddd".split(",");
	var html = "";
	for (i = 0; i < txt.length; i++) {
		html += "<li>" + txt[i] + "</li>";				
	}
	var selobject = document.getElementById("keytishi");
	selobject.innerHTML = "<ul>" + html + "</ul>";
	selobject.style.display = "block";
yghuaa 2014-01-17
  • 打赏
  • 举报
回复
引用 7 楼 sossos555 的回复:
li的样式设置为块,并清除浮动,应该就可以了。 <li style="display:block; clear:both;"></li>
是这一句加上去吗 selobject.innerHTML="<ul><li style="display:block; clear:both;">"+txt[i]+"</li></ul><br/>"; 会报错,提示onkeyup="getKeyWord();"这个函数为定义
别闹腰不好 2014-01-17
  • 打赏
  • 举报
回复
#keytishi ul li{margin:0;list-style-type:none; line-height:16px; height:16px; font-size:12px; padding:2px;width:147px; }/**//*提示层样式*/
yghuaa 2014-01-17
  • 打赏
  • 举报
回复
引用 6 楼 u012463264 的回复:
selobject.innerHTML+"<ul><li>"+txt[i]+"</li></ul><br/>" 你是不是写错了 所以没换行啊
这个是笔误,不是这个原因呢
啾啾我 2014-01-17
  • 打赏
  • 举报
回复
li的样式设置为块,并清除浮动,应该就可以了。 <li style="display:block; clear:both;"></li>
别闹腰不好 2014-01-17
  • 打赏
  • 举报
回复
selobject.innerHTML+"<ul><li>"+txt[i]+"</li></ul><br/>" 你是不是写错了 所以没换行啊
yghuaa 2014-01-17
  • 打赏
  • 举报
回复
引用 2 楼 liuensong 的回复:
li加上宽度。
这个达不到我要的效果
yghuaa 2014-01-17
  • 打赏
  • 举报
回复
引用 1 楼 u012463264 的回复:
你这个框是下拉选矿吗
不是,这是一个自定义的<div> <style type="text/css"> #keytishi {width:151px; height:auto; border:#0066FF 1px solid; position:absolute; display:none;}/**//*提示层样式*/ #keytishi ul { margin:0;}/**//*提示层样式*/ #keytishi ul li{margin:0;list-style-type:none; line-height:16px; height:16px; font-size:12px; padding:2px;}/**//*提示层样式*/ #keytishi ul li a {display:block; width:150px; height:16px; text-decoration:none;}/**//*提示层样式*/ #keytishi ul li a:hover {background-color:#0099FF;}/**//*提示层样式*/ </style>
引用 3 楼 u012463264 的回复:
var innerdetail = unescape(xmlhttp.responseText), txt = innerdetail.split(","); for (i = 0; i < txt.length; i++) { var opt = new Option(); opt.value = txt[i]; opt.text = txt[i]; var selobject = document.getElementById("keytishi"); selobject.options.add(opt); }
运行的时候会报错 错误: 无法获取属性“add”的值: 对象为 null 或未定义
别闹腰不好 2014-01-17
  • 打赏
  • 举报
回复
var innerdetail = unescape(xmlhttp.responseText), txt = innerdetail.split(","); for (i = 0; i < txt.length; i++) { var opt = new Option(); opt.value = txt[i]; opt.text = txt[i]; var selobject = document.getElementById("keytishi"); selobject.options.add(opt); }
青鬆下的坚躯 2014-01-17
  • 打赏
  • 举报
回复
li加上宽度。
别闹腰不好 2014-01-17
  • 打赏
  • 举报
回复
你这个框是下拉选矿吗

87,910

社区成员

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

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