你可以使用 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
<form id="abc">
<input type="checkbox" name="ck" />
<input type="checkbox" name="ck" />
<input type="checkbox" name="ck" />
<input type="checkbox" name="ck" />
</form>var form = documentgetElementById('abc');
var input = formck; // 如果有多个相同的名字会返回dom collection(类似数组)
if(input && inputlength) {
// dom collection
} else if (input) {
// dom
} else {
// 没有
}
思路:通过 :checked 筛选 checkbox 选中项,然后进行遍历,利用节点关系获取到input对象,最后使用val()方法获取input的内容。实例演示如下:
1、HTML结构
<table>
<tr>
<td><input type="checkbox" name="test"></td>
<td><input type="text"></td><td><input type="text"></td>
</tr>
<tr>
<td><input type="checkbox" name="test"></td>
<td><input type="text"></td><td><input type="text"></td>
</tr>
</table>
<input type="button" value="确定">
2、jquery代码
$(function(){
$(":button")click(function() {
// 找到选中行的input
var ipts = $(":checkbox:checked")parents("tr")find("input:text");
// 遍历input并使用val()方法获取值
str = map(function() {return $(this)val();})get()join(", ");
alert(str);
});
});
3、效果演示
密 码:<input type="password" name="password" /><br />教育<input type="checkbox" name="1" value="教育" />IT<input type="checkbox" name="2" value="IT" />会计<input type="checkbox" name="3" value="会计" />秘书<input type="checkbox" name="4" value="秘书" />银行<input type="checkbox" name="5" value="银行" />美食<input type="checkbox" name="6" value="美食" />其他<input type="checkbox" name="7" value="其他" /><br /><select name="select"><option value="北京">北京</option><option value="天津">天津</option><option value="上海">上海</option><option value="深圳">深圳</option></select><br /><input type="submit" value="提交" /></form>
你是要JAVASCRIPT来获得呢!还是ASP提交获得呢??还是???
不清楚你说的是那个获得啊!!!
哦!!!!
JSP我都忘记的差不多了!用一个上面属性来获得啊!!request里面的属性 好像!你自己看看!记得好像里面要注意到编码问题!具体怎么弄 在笔记上面!呵呵帮不料你了!你去查查吧!!倒百度里面查:JSP获取表单值!
>
通常情况下,我们可能会用v-for循环出一堆checkbox,提交数据的时候需要去获取选中的checkbox的value值,之前我的获取方式是给checkbox添加点击事件,这样确实能解决问题,但是总觉得有更好的办法,因为同为form表单元素的文本框就可以使用v-model来实现数据双向绑定,难道checkbox不能实现数据双向绑定吗?
呵呵哒,真的可以,我一直都不知道。。。。。。。。。
<input type="checkbox" v-model="checkFlag">
data () {
return {
checkFlag: true //checkbox默认选中
}
}
上面是最简单的用法,那如果使用场景是:购物车里循环遍历了所有用户添加的商品,用户选中一些商品,去结算,我们需要在结算的时候获取所有选中的checkbox的value值;
页面的大概效果如下:
这里我们给checkbox绑上了v-model的属性,以及value属性,checkedArr是一个数组,用来放选中的itemname,当checkbox选中或者取消都会触发v-model绑定的checkedArr值变化;
强调最重要的一点,v-model会在checkbox选中的时候,自动将当前的value值push进数组;在取消checkbox的时候,自动将当前的value值pop出数组。
以下是依次选中四个商品,然后取消商品4,打印的checkedArr的值
至于全选按钮什么时候选中,那我们可以watch一下checkedArr:
问题并么有解决 , 使用不同的name值 ,并没有实现单选按钮的效果 ,三个按钮仍然能同时选中
const SexRadio=ReactcreateClass({
getInitialState:function(){
return {}
},
render:function(){
return (
<div>
<form name="form1">
<input type="radio" name="radiobutton1" value="radiobutton" checked /> 喜欢
<input type="radio" name="radiobutton2" value="radiobutton" /> 不喜欢
<input type="radio" name="radiobutton3" value="radiobutton"/> 无所谓<br/>
</form>
</div>
);
}
});
ReactDOMrender(<SexRadio/>,documentgetEl
以上就是关于js获得table行中列的值,就是checkbox如何获得选中那个获得相应的值全部的内容,包括:js获得table行中列的值,就是checkbox如何获得选中那个获得相应的值、js 获取form中所有name相同的checkbox、如何用JQuery实现获取checkbox选中的那一行的input中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)