实现的功能很简单
<li onClick="GetContactluk('a','b','qdcx','17_王文元')">王文元</li>
点击这个li 把值传给文本框
<input name="a" id=a type="text">
<input name="b" id=b type="text">
<ul id=qdcx></ul>
再点击这个li时把选定的的值从下面的元素中去掉
<input name="a" id=a type="text">
<input name="b" id=b type="text">
<ul id=qdcx></ul>
现在文本框的值都解决了,但是
document.getElementById(“qdcx”).innerHTML这个只能增加不能删除,
求大虾们想想办法,帮小弟解决一下 谢谢各位了
分不多,还望大虾们不吝赐教!
JS代码如下:
function GetContactluk(sid,bid,cid,did){
var aa = document.getElementById(sid).value;
var ab = document.getElementById(bid).value;
var ac = document.getElementById(cid).innerHTML;
var m=did.split("_")[0];
var n=did.split("_")[1];
var v=","+aa;
if(v.indexOf(did.split("_")[0]) > 0) {
//ac = ac.replace(/[\r\n]/g,"") //去掉回车
//alert(ac)
aa = aa.replace(new RegExp(m + ",","g"),"").Trim();
ab = ab.replace(new RegExp(n + ",","g"),"").Trim();
ac = ac.replace(new RegExp("<li>"+ n + "</li>","g"),"").Trim();
document.getElementById(sid).value =aa.replace(/\n[\s ]*\r/g,""); //替换空行
document.getElementById(bid).value =ab.replace(/\n[\s ]*\r/g,"");
document.getElementById(cid).innerHTML =ac.replace(/\n[\s ]*\r/g,"");
}else{
document.getElementById(sid).value = aa + m + ",";
document.getElementById(bid).value = ab + n + ",";
document.getElementById(cid).innerHTML =ac + "<li>" + n +"</li>";
}
}
JavaScript
replace
RegExp
------解决方案--------------------
向右侧添加li的时候,给每个li个id。比如可以用m
删除的时候通过id找到这个li元素,然后用ul的removeChild就行