js显示内容

js显示内容求助

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/jscript">
window.onload = initAll;
function $(id){return document.getElementById(id)}
function initAll(){ 
var clearUser = $("user"); 
var clearPass = $("pass"); 
clearUser.onfocus = function ( )

clearUser.value = "";

clearPass.onfocus = function ( )

clearPass.value = "";




 function Test()
        {
            o = document.getElementById("jineng");
            var intvalue="";
            for(i=0;i<o.length;i++){   
                if(o.options[i].selected){
                    intvalue+=o.options[i].value+",";
                }
            }
            alert( intvalue.substr(0,intvalue.length-1) );

        }

var dr=document.getElementsByTagName("div"),i,t=""; 
function submit1(num,type){ 
t=""; 
var dri=dr[num].getElementsByTagName("input"); 
for(i=0;i<dri.length;i++){ 
if(dri[i].checked){ 
if(type==0){
//if(type=="radio"){
alert(dri[i].value); 
break; 
}else{ 
t=t+dri[i].value+";"; 



if(type==1) alert(t); 

</script>
</head>

<body>

<table width="843" border="0">
  <tr>
    <td width="305" height="36">用户名:<input name="" type="text" id="user" /></td>
    <td width="522">密码:<input name="" type="password" id="pass"/></td>

  </tr>
  <tr>
    <td height="78"><div>常去网站:<br /><input name="" type="checkbox" value="****" />****<input name="" type="checkbox" value="MSDN" />MSDN<input name="" type="checkbox" value="新闻网" />新闻网<br /><input name="" type="checkbox" value="计世网" />计世网<input name="" type="checkbox" value="教程网" />教程网</div></td>
    <td>默认搜索:<br /><input name="" type="checkbox" value="" />baidu<input name="" type="checkbox" value="" />google<br /><input name="" type="checkbox" value="" />yahoo<input name="" type="checkbox" value="" />MSN</td>

  </tr>
  <tr>
    <td>掌握技能:<br />
    <select id="jineng" size="7" multiple="multiple">
<option value="ASP网站开发">ASP网站开发</option>
<option value="Access和SQL Server">Access和SQL Server</option>
<option value="ASP.NET网站开发">ASP.NET网站开发</option>
<option value="ADO.NET编程">ADO.NET编程</option>
<option value="XML应用">XML应用</option>
<option value="DIV+CSS">DIV+CSS</option>
    </select></td>
    <td valign="top">最想了解的技术:<br /><select name="" size="1">
  <option>设计模式</option>
  <option>编程模式</option>
  <option>开发模式</option>
</select></td>

  </tr>
  <tr>
    <td><input type="button" value="提交"  onclick="sum1()"/><input type="button" value="重置" /><input type="button" value="list" onclick="Test()"/></td>
    <td>&nbsp;</td>
  </tr>


  <tr>
    <td height="167">您输入的信息为:</td>
    <td><textarea name="" cols="50" rows="10" id="xs" onclick="sum1();"></textarea></td>
    
  </tr>
</table>



<script>
function sum1() {
var n1 = document.getElementById("user").value;
var n2 = document.getElementById("pass").value;
var o = document.getElementById("jineng");
            var intvalue="";
            for(i=0;i<o.length;i++){   
                if(o.options[i].selected){
                    intvalue+=o.options[i].value+",";
                }
            }
    var n3 = intvalue.substr(0,intvalue.length-1) ;
var dr=document.getElementsByTagName("div"),i,t=""; 
var dri=dr[0].getElementsByTagName("input"); 
for(i=0;i<dri.length;i++)

if(dri[i].checked)
{
s=dri[i].value;
}
}
var str = "姓名"+n1+'&nbsp;'+"密码"+n2+'&nbsp;'+"掌握技能:"+n3+'&nbsp;'+"常去网站:"+s;

document.getElementById("xs").innerHTML = str.replace(/\r\n/g,'<br/>');  
//str.split("&nbsp;").join("<br />")
}
</script>

点击提交按钮输出内容

</body>
</html>




①<textarea name="" cols="50" rows="10" id="xs" onclick="sum1();"></textarea>
document.getElementById("xs").innerHTML = str.replace(/\r\n/g,'<br/>');  
我希望文本域中的内容能换行,怎么改?

② <select id="jineng" size="7" multiple="multiple">
多选不用ctrl就直接多选,怎么实现?

③  <td valign="top">最想了解的技术:<br /><select name="" size="1">
<textarea>获取【最想了解的技术】里面的内容怎么实现?

------解决思路----------------------
1、  str.replace('/,/g', '\n')换行
2、可以用插件jquery multiselect
3、没明白问题
------解决思路----------------------
js 中有选择器的...
你可以通过选择器选择到符合查询条件的dom对象,
然后对对象进行操作

textarea换行我记得css中有可以设置的...当然你要是想通过js控制换行的话也可以通过js动态加载css就好了....

我比较习惯用jquery来实现这些问题
------解决思路----------------------


<!DOCTYPE html>
<html>
<head>
<title>try</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="x-rim-auto-match" content="none">
<script src="jquery-mobile/jquery-1.11.1.min.js"></script>
<script>
$(function(){
var tmp="";
var selecthtml="<font color=red>√</font>   ";
var val=$("#val").val();
var state=$("#imglist").find("li").attr("state");

$("#selectbox").click(function(){
$("#imglist").show();
$("li").unbind("click").click(function(){
if($(this).attr("state")==""){
$(this).attr("state","1");
tmp= tmp + $(this).attr("dataval") + ",";
$("#val").attr("value",tmp);
$(this).html(selecthtml + $(this).attr("dataval"));
}else if($(this).attr("state")=="1"){
$(this).attr("state","");
tmp= tmp.replace($(this).attr("dataval") + ",","");
$("#val").attr("value",tmp);
$(this).html($(this).attr("dataval"));
}
});

});
$(".close").click(function(){
if(tmp==""){
$("#selectbox").html("请选择..");
}else{
$("#selectbox").html(tmp);
}
$("#imglist").hide();

});

});
</script>
<style>
div{cursor:pointer;font-size:12px;}
#selectbox{width:200px;height:40px;line-height:40px;float:left; background:#999;}
#imglist{width:200px;height:auto; background:#69F;float:left;}
#imglist ul{width:100%;height:auto;}
#imglist ul li{width:100%;height:auto; float:left; border-bottom:#fff solid 1px; line-height:40px;}
.close{width:100%;line-height:40px; background:#999; text-align:center;margin-top:-1px; float:left;}
</style>
</head>

<body>

<div id="selectbox">请选择..</div>
<div id="imglist" style="display:none;">
<ul>
<li dataval="测试A" state="">测试A</li>
<li dataval="测试B" state="">测试B</li>
<li dataval="测试C" state="">测试C</li>
<li dataval="测试D" state="">测试D</li>
<li dataval="测试E" state="">测试E</li>
<li dataval="测试F" state="">测试F</li>
<li dataval="测试G" state="">测试G</li>
</ul>
<div class="close">close</div>
<input type="hidden" value="" id="val">
</div>

</body>
</html>





这段代码只针对你的第2个问题,我了个去,居然 花了我一个从小时。。不容易啊。。。
样式,你要调整一下。
这个是写一个LI模拟多选,在获取值的时候,直接获取 <input type="hidden" value="" id="val">的值就可以了。
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

select那个多选不用按ctrl就选不用JQ不行吗

一般的做法都是把原本的select隐藏,然后用ul与li模拟,

不用jq,用原生js也行.只是代码多一些而已
有类似的源码分享下吗?


不用按ctrl实现多选

<select id="mySelect" size="8"  multiple="multiple">
<option value="">00001</option>
<option value="">00002</option>
<option value="">00003</option>
<option value="">00004</option>
<option value="">00005</option>
<option value="">00006</option>
<option value="">00007</option>
<option value="">00008</option>
</select>
<script type="text/javascript">
document.getElementById("mySelect").onchange=function(event){
var ind = this.selectedIndex;
this.selectedIndex = -1;
var op = this.options;
op[ind].mySelected = !op[ind].mySelected;
for(var i=0, l = op.length; i<l; i++)
op[i].selected = op[i].mySelected;
}
</script>