用JS如何获得table中checkbox所在的行列值弄了一个上午了好捉急!

用JS如何获得table中checkbox所在的行列值弄了一个上午了好捉急!,第1张

你可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始)

点击 checkbox,获取 parentNode (也就是 td),tdcellIndex 就是所在列的键值

点击 checkbox,获取 parentNodeparentNode (也就是 tr),trrowIndex 就是所在行的键值

<script type="text/javascript">

// 点击

documentonclick = function(e) {

    // 兼容 event 和 target

    e = e || windowevent;

    var target = etarget || esrcElement;

    // 确认是 checkbox

    if(targettagNametoLowerCase() === "input"

        && targettype === "checkbox") {

        // 获取行列键值

        var row_num = targetparentNodeparentNoderowIndex;

        var col_num = targetparentNodecellIndex;

        // 输出

        alert(row_num + " " + col_num);

    }

};

</script>

因为键值是从 0 开始,一般需要 +1 才是行列数,但因为你表单中第一行个第一列都是文字,所以不需要 +1 正好输出需要的数字,例如点击周四 + 6,会输出 4 6

//不知道你这些checkbox、input是如何命名的,如果一个一个的取,可以用id:

if(documentgetElementById("checkbox1")checked){

var

input1Value=documentgetElementById("input11")value;

}

//如果一次性全部获取,可以用name和循环:

var

inputValue={};

for(var

i=0;i<documentgetElementsByName("checkboxName")length;i++){

if(documentgetElementsByName("checkboxName")[i]checked){

inputValue[i]=documentgetElementsByName("inputName")[i]value;

}

}

思路:先获取checkbox对象,然后循环判断每个checkbox的checked属性(true为选中,false为未选中)。示例如下:

1、HTML结构

<input type="checkbox" name="test" value="1"/>checkbox-1

<input type="checkbox" name="test" value="2"/>checkbox-2<br>

<input type="checkbox" name="test" value="3"/>checkbox-3

<input type="checkbox" name="test" value="4"/>checkbox-4<br>

<input type='button' value='确定' onclick="fun()"/>

2、javascript代码

function fun(){

var boxes = documentgetElementsByTagName("input");

var val = []

for(i=0;i<boxeslength;i++){

if(boxes[i]name=="test" && boxes[i]checked == true){

valpush(boxes[i]value);

}

}

alert(val);

}

3、效果演示

<script language="javascript">

function show(){

var che=documentgetElementsByName("checkbox");

for(var i=0;i<chelength;i++){

if(che[i]checked){

alert(che[i]value);

}

}

}

</script>这是获取到多个复选框时被选中的值,你试试

1、在react中可以给输入控件(如input type=text)加上引用名,好获取它的输入值

例如:

2、<textarea >控件,它和input不同,它是开标签,内容是包括在<textarea >和</textarea>之间的。如果需要获取<textarea >的值,同样可以用ref来获取

例如:

注意:这里log出来的是页面用户输入后的最终文字。

3、单选radio和多选checkbox,获取它们的值最好还是用一个公共变量如state来保存,因为它们的值只能在触发事件中获取,不像text控件可以后期提交时获取。初始值可以通过 defaultChecked={true} 来设置。

radio例子:

如果是checkbox,用div包住不合适,因为div每次点击只能获取点击一次的值。所以checkbox需要写到每个checkbox 控件里面的onChange或onClick事件。可以通过一个state的数组来存储变更。checkbox例子:

给那table加个ID为“table”

var rows = documentgetElementById("table")rows;

for(var i=0;i<rowslength;i++){

if(rows[i]cells[2]firstChildchecked||rows[i]cells[3]firstChildchecked||rows[i]cells[4]firstChildchecked){

var str = rows[i]cells[0]innerHTML+" "+rows[i]cells[1]innerHTML;

if(rows[i]cells[2]firstChildchecked)

str += " "+1;

else

str += " "+0;

if(rows[i]cells[3]firstChildchecked)

str += " "+1;

else

str += " "+0;

if(rows[i]cells[4]firstChildchecked)

str += " "+1;

else

str += " "+0;

alert(str);//打印出如:abc abc 1 0 1之类的语句,如果那行一个都没有选则不打印

}

}

以上就是关于用JS如何获得table中checkbox所在的行列值弄了一个上午了好捉急!全部的内容,包括:用JS如何获得table中checkbox所在的行列值弄了一个上午了好捉急!、js中checkbox选中的同时获取文本框百分比的值,怎么获取、JS中怎么循环出checkbox所取的的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9408602.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存