js多选框 取值赋值问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js多选框 取值赋值问题相关的知识,希望对你有一定的参考价值。

如何能把 取消那个checked的值 赋值到第2个文本框里 而不是checked==false全进去
求助

<input type="checkbox" name="C1" id="a1" value="11" checked onclick="ab()">11
<input type="checkbox" name="C1" id="a2" value="22" checked onclick="ab()">22
<input type="checkbox" name="C1" id="a3" value="33" onclick="ab()">33
<input type="checkbox" name="C1" id="a4" value="44" onclick="ab()">44
<input type="text" id="b" value="11,22" size="20" >
<input type="text" id="d" value="" size="20" >
<input type="button" value="按钮" name="B3" onclick="abc()">
<script type="text/javascript">
var b=document.getElementById("b").value;
var d=document.getElementById("d").value;

function ab()

var c=document.getElementsByName("c1");
var b=document.getElementById("b");
var d=document.getElementById("d");
d.value="";
b.value="";
for(var i=0;i<c.length;i++)

if(c[i].checked==true)

b.value+=c[i].value+",";



for(var k=0;k<c.length;k++)


if(c[k].checked==false)


d.value+=c[k].value+",";




function abc()

if (b==document.getElementById("b").value)

alert("1");

else

alert("2");



</script>
现在1和2是checked 再一点次的时候取消checked 同时把值赋给第2个文本框中
而不是没选中的值都进去 或者 是每次就进1个值
谢谢回答 求助

参考技术A <input type="checkbox" name="C1" id="a1" value="11" checked onclick="ab()" >11
<input type="checkbox" name="C1" id="a2" value="22" checked onclick="ab()" >22
<input type="checkbox" name="C1" id="a3" value="33" onclick="ab()" >33
<input type="checkbox" name="C1" id="a4" value="44" onclick="ab()">44
<input type="text" id="b" value="11,22" size="20" >
<input type="text" id="d" value="" size="20" >
<input type="button" value="按钮" name="B3" onclick="abc()">
<script type="text/javascript">
var b = document.getElementById("b").value;
var d = document.getElementById("d").value;

var checkboxes = document.getElementsByName("c1");
for (var idx = 0; idx < checkboxes.length; idx++)
if (checkboxes[idx].checked == true)
checkboxes[idx].setAttribute("saved", "true");


function ab()
var c = document.getElementsByName("c1");
var b = document.getElementById("b");
var d = document.getElementById("d");
d.value = "";
b.value = "";
for (var i = 0; i < c.length; i++)
if (c[i].checked == true)
c[i].setAttribute("saved", "true");
b.value += c[i].value + ",";




for (var k = 0; k < c.length; k++)

if (c[k].checked == false && c[k].getAttribute("saved")=="true" )

d.value += c[k].value + ",";




function abc()
if (b == document.getElementById("b").value)
alert("1");

else
alert("2");



</script>本回答被提问者采纳
参考技术B <input type="checkbox" name="C1" id="a1" value="11" checked onclick="ab(this)">
11
<input type="checkbox" name="C1" id="a2" value="22" checked onclick="ab(this)">
22
<input type="checkbox" name="C1" id="a3" value="33" onclick="ab(this)">
33
<input type="checkbox" name="C1" id="a4" value="44" onclick="ab(this)">
44
<input type="text" id="b" value="11,22" size="20" >
<input type="text" id="d" value="" size="20" >
<input type="button" value="按钮" name="B3" onclick="abc()">
<script type="text/javascript">
var b=document.getElementById("b").value;
var d=document.getElementById("d").value;

function ab(bs)
var c=document.getElementsByName("c1");
var b=document.getElementById("b");
var d=document.getElementById("d");
d.value="";
b.value="";
if(bs.checked==false)
d.value=bs.value+",";

for(var i=0;i<c.length;i++)
if(c[i].checked==true)

b.value+=c[i].value+",";



function abc()

if (b==document.getElementById("b").value)
alert("1");
else
alert("2");



</script>

是这样么?追问

第2个框里值也是数组的 11,22这样的
你这个只是11 在点一下就盖了 谢谢回答

参考技术C 在第一次赋值后,如果只需要赋值一次,加一个命令return;
就O了
参考技术D function checkAll(name)

var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++)

if((el[i].type=="checkbox") && (el[i].name==name))

el[i].checked = true;



function clearAll(name)

var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++)

if((el[i].type=="checkbox") && (el[i].name==name))

el[i].checked = false;


checkbox多选框取值

var SelectQuestionAnswer = $("input:checkbox[name=‘SelectQuestionAnswer‘]:checked").map(function (index, elem) {
return $(elem).val();
}).get().join(‘,‘);



以上是关于js多选框 取值赋值问题的主要内容,如果未能解决你的问题,请参考以下文章

checkbox多选框取值

js代码里 多选框 如何写成选中状态?

vue修改弹框的多选框会影响表格的内容

html 多选框 如何用js 控制全选 并且一键复制选中的多项值到剪贴板

用js控制单选框或者多选框问题

如何实现 JS实现select多选框 全选