input传值问题

seven002 2013-07-16 09:47:35

<li>
<input type="text" id="txt2" name="txt2" onfocus="showAndHide('List2','show');" readonly />
<div class="Menu" id="List2">
<ul>
<li><input type="checkbox" value="三元里店" /><span>三元里店1</span></li>
<li><input type="checkbox" value="a" /><span>a1</span></li>
<li><input type="checkbox" value="a" /><span>a1</span></li>
<li><input type="checkbox" value="a" /><span>a</span></li>
<li><input type="checkbox" value="a" /><span>a</span></li>
<li class="list-button"><input type="button" value="确定" onclick="showAndHide('List2','hide');" /></li>
</ul>
</div>
</li>


<script type="text/javascript">

/*下拉*/
function showAndHide(obj,types){
var Layer=window.document.getElementById(obj);
switch(types){
case "show":
Layer.style.display="block";
break;
case "hide":
Layer.style.display="none";
break;
}
}
function getValue(obj,str){
var input=window.document.getElementById(obj);
input.value=str;
}

//文本传值

window.onload = function(){
var obox = document.getElementById("List2");
var cboList = obox.getElementsByTagName("input");
var oText = document.getElementById("txt2");
document.getElementById("List2").onclick = function(e){
var src = e?e.target:event.srcElement;
if(src.tagName == "INPUT"){
var values = [];
for(var i=0;i<cboList.length;i++){
if(cboList[i].checked){
values.push(cboList[i].value);
}
}
oText.value = values.join(",");
}
}
}

</script>
现在我只能把下拉input里的value值传给<input type="text" name="txt2">,怎么样把span里的值传过去呢?求解...
...全文
210 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
奇乐二二二 2013-07-16
  • 打赏
  • 举报
回复
遍历input的时候得到当前input的父级,,然后在父级里面遍历搜索span,然后得到span的innerhtml
gzqGyula 2013-07-16
  • 打赏
  • 举报
回复
还要修改一下将每个type="checkbox"的都要添加name属性:name="ck"
gzqGyula 2013-07-16
  • 打赏
  • 举报
回复
将你的onload方法替换成我写的方法,已经测试过:
$(function(){
		var obj,txtObj,txtPval;
		$("input[name=ck]").click(function(){
		    obj=$(this);
		    txtObj=$('#txt2');
			if(obj.attr('checked')!=undefined){
				var arry=[];
				if(txtObj.val()!=''){
				 arry.push(txtObj.val());
				}
				txtPval=obj.parent().find('span').text();
				arry.push(txtPval);
				txtObj.val(arry.join(','));
			}
		 });
		})
xiaoya13144111 2013-07-16
  • 打赏
  • 举报
回复
<script type="text/javascript"> /*下拉*/ function showAndHide(obj,types){ var Layer=window.document.getElementById(obj); switch(types){ case "show": Layer.style.display="block"; break; case "hide": Layer.style.display="none"; break; } } function getValue(obj,str){ var input=window.document.getElementById(obj); input.value=str; } //文本传值 window.onload = function(){ var obox = document.getElementById("List2"); var cboList = obox.getElementsByTagName("input"); var oText = document.getElementById("txt2"); document.getElementById("List2").onclick = function(e){ var src = e?e.target:event.srcElement; if(src.tagName == "INPUT"){ var values = []; for(var i=0;i<cboList.length;i++){ if(cboList[i].checked){ values.push(cboList[i].nextSibling.innerHTML); } } oText.value = values.join(","); } } } </script> 我把楼主的js 稍微改了一下,看是否是楼主想要的效果 主要改的是这点 values.push(cboList[i].nextSibling.innerHTML);
seven002 2013-07-16
  • 打赏
  • 举报
回复
引用 1 楼 chhxxc 的回复:
遍历input的时候得到当前input的父级,,然后在父级里面遍历搜索span,然后得到span的innerhtml
大概我也了解方向,写了半天没还没写对。能不能给个代码,我新手,万分感谢

87,991

社区成员

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

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