
你可以使用 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所取的的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)