想实现一个简单的功能

xeqtrl982 2011-01-17 03:53:15
我想实现一个简单的功能
有5个checkbox,一个text框
当选中checkbox时,把checkbox的文字显示到text框中,当取消选中后,删除文本框中的相关文字


<input type="checkbox" name="arrsubid[]" onClick="add_words('1');" >1
<input type="checkbox" name="arrsubid[]" onClick="add_words('2');" >2
<input type="checkbox" name="arrsubid[]" onClick="add_words('3');" >3
<input type="checkbox" name="arrsubid[]" onClick="add_words('4');">4
<input type="checkbox" name="arrsubid[]" onClick="add_words('5');">5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="35" />



function add_words(obj)
{
//这里怎么判断checkbox是否是选中还是未选中啊
a = document.getElementById('images_tag').value;
a += " "+obj;
document.getElementById('images_tag').value= a;
}

...全文
204 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
暗夜螃蟹 2011-01-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xeqtrl982 的回复:]
如果编辑框中有一段文字 "一个人 一个人 我"
如何用javascript将其全部删除?

JScript code

str="一个人 一个人 我";
a=a.replace("一个人","");
怎么只能删除第1个?
[/Quote]


<script>
(function(obj){

var test=obj.replace(/一个人/g,'');
alert(test);
}("一个人 一个人 我"));
</script>







何牧晗 2011-01-18
  • 打赏
  • 举报
回复
在顶部加入 Jquery库函数
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
何牧晗 2011-01-18
  • 打赏
  • 举报
回复
用jquery实现如下:


<script type="text/javascript">
$().ready(function(){
$('input[name=arrsubid[]]').click(function()
{
var m=""; ///存储选中的值
$.each($('input[name=arrsubid[]][checked=true]'),function(){
m+=$(this).val();
});
$('#images_tag').val(m);
})

})
</script>

</head>
<body>
<input type="checkbox" name="arrsubid[]" value="1">1
<input type="checkbox" name="arrsubid[]" value="2">2
<input type="checkbox" name="arrsubid[]" value="3">3
<input type="checkbox" name="arrsubid[]" value="4">4
<input type="checkbox" name="arrsubid[]" value="5">5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="35" />

</body>

xq870723 2011-01-18
  • 打赏
  • 举报
回复
导入最新JQuery,用$(":checkbox").toggle()
wthua 2011-01-18
  • 打赏
  • 举报
回复
太简单了,在checkbox中的click中做一个事件,事件重计算checkbox中的值并显示在text中就OK了。
hch126163 2011-01-18
  • 打赏
  • 举报
回复
<input type="checkbox" name="arrsubid[]" onClick="add_words();" >1
<input type="checkbox" name="arrsubid[]" onClick="add_words();" >2
<input type="checkbox" name="arrsubid[]" onClick="add_words();" >3
<input type="checkbox" name="arrsubid[]" onClick="add_words();">4
<input type="checkbox" name="arrsubid[]" onClick="add_words();">5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="35" />

function add_words(){

var ochkList=document.getElementsByTagName("input");
var arr=[];
for(var i=0;i<ochkList.length;i++){
if(ochkList[i].type.toLowerCase()=="checkbox" && ochkList[i].name.toLowerCase()=="arrsubid[]" && ochkList[i].checked){
arr.push(ochkList[i].value);

}
}
document.getElementById('images_tag').value=arr.join(',');
}
hch126163 2011-01-18
  • 打赏
  • 举报
回复


<input type="checkbox" name="arrsubid[]" onClick="add_words();" >1
<input type="checkbox" name="arrsubid[]" onClick="add_words();" >2
<input type="checkbox" name="arrsubid[]" onClick="add_words();" >3
<input type="checkbox" name="arrsubid[]" onClick="add_words();">4
<input type="checkbox" name="arrsubid[]" onClick="add_words();">5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="35" />

function add_words(){
var obj=document.getElementById('images_tag');
var ochkList=document.getElementsByTagName("input");
for(var i=0;i<ochkList.length;i++){
if(ochkList[i].type.toLowerCase()=="checkbox" && ochkList[i].name.toLowerCase()=="arrsubid[]" && ochkList[i].checked){
obj.value+= ochkList[i].value +" ";

}
}

}
汉尼拔 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 net_lover 的回复:]

不用this也可以啊,你可以先判断document.getElementById('images_tag').value.indexOf(a),
[/Quote]

这脑子就是活啊,..
汉尼拔 2011-01-18
  • 打赏
  • 举报
回复
LZ的签名好强大,"从小不学好,长大卖电脑."


少壮不努力,老大干IT
bjliuzg 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 zyzy15 的回复:]
HTML code

<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'1');" >1
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'2');" >2
<input type……
[/Quote]

OK
zyzy15 2011-01-18
  • 打赏
  • 举报
回复

<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'1');" >1
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'2');" >2
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'3');" >3
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'4');">4
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'5');">5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="35" />
<INPUT TYPE="button" VALUE="清空" ONCLICK="doclear()">

<SCRIPT LANGUAGE="JavaScript">
<!--
function add_words(obj,txt)
{
if (obj.checked) document.getElementById('images_tag').value += " "+txt;//选中的情况
else document.getElementById('images_tag').value = document.getElementById('images_tag').value.replace(" "+txt,"");//清除的情况
}
function doclear(){
document.getElementById('images_tag').value='';//清除text内容
var checks = document.getElementsByName("arrsubid[]");
for (var i=0; i<checks.length; i++) checks[i].checked = false;//清除checkbox勾选
}
//-->
</SCRIPT>

yuanyue0540 2011-01-17
  • 打赏
  • 举报
回复
JScript:
function add_words(obj,v){
var o=obj;
if(o.checked)
document.getElementById('images_tag').value=v;
else
document.getElementById('images_tag').value='';
}
HTML:
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'1');" >1
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'2');" >2
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'3');" >3
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'4');">4
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'5');">5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="35" />
KeepMoving 2011-01-17
  • 打赏
  • 举报
回复
楼上以经给出思路,希望你解决了!
暗夜螃蟹 2011-01-17
  • 打赏
  • 举报
回复


<input type="checkbox" name="arrsubid[]" onClick="add_words(this);" value="1" />1
<input type="checkbox" name="arrsubid[]" onClick="add_words(this);" value="2"/>2
<input type="checkbox" name="arrsubid[]" onClick="add_words(this);" value="3"/>3
<input type="checkbox" name="arrsubid[]" onClick="add_words(this);" value="4"/>4
<input type="checkbox" name="arrsubid[]" onClick="add_words(this);" value="5"/>5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="15" />


<script>
function add_words(obj){
if(obj.checked==true){
var textbox=obj.value;
document.getElementById('images_tag').value=document.getElementById('images_tag').value+textbox;
}else{
document.getElementById('images_tag').value=document.getElementById('images_tag').value.replace(obj.value,'');
}



}
</script>


shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
响应修改为

<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'1');" >1
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'2');" >2
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'3');" >3
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'4');">4
<input type="checkbox" name="arrsubid[]" onClick="add_words(this,'5');">5
<input type="text" name="images_tag" id="images_tag" class="inputBg" size="35" />

shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
这个也可以,把checkbox对象和 值传进去

function add_words(obj,v){
var o=obj;
if(o.checked)
document.getElementById('images_tag').value=v;
else
document.getElementById('images_tag').value='';
}

仲兴轩 2011-01-17
  • 打赏
  • 举报
回复
用this 好些呀,
懒的替换的话,
你点删除时,再重新生成那个text呀,
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
我的这个可以了,LZ看看。。。

function add_words(v){
var ochkList=document.getElementsByTagName("input");
for(var i=0;i<ochkList.length;i++){
if(ochkList[i].type.toLowerCase()=="checkbox" && ochkList[i].name.toLowerCase()=="arrsubid[]" && ochkList[i].checked){
document.getElementById('images_tag').value=v;
break;
}else{
document.getElementById('images_tag').value='';
}
}
}
liangtiana 2011-01-17
  • 打赏
  • 举报
回复
1,2,3,4,5都改成this

function add_words(obj)
{
if(obj.checked){
a = document.getElementById('images_tag').value;
a += " "+obj;
document.getElementById('images_tag').value= a;
}

}

liangtiana 2011-01-17
  • 打赏
  • 举报
回复
1,2,3,4,5都改成this

function add_words(obj)
{
if(obj.checked){
a = document.getElementById('images_tag').value;
a += " "+obj;
document.getElementById('images_tag').value= a;
}

}

加载更多回复(7)

87,910

社区成员

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

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