解决方案 »
- 【求】ECSHOP真没有人问了,来这上面问问寻找下答案吧。
- 求一个页面js调用输入法的demo
- 选择002的时候清空001里的内容,急
- 获得iframe框架,滚动条与iframe框架左边的距离
- 关于HTML符号<a>的一句简单代码,求解.
- JavaScript 读取 页面 TextBox 问题
- IE中的脚本代码如何知道自己所处的<SCRIPT>对象?
- 怎么给Spreadsheet1的单元格加边框 ???
- 如何能将一个页面中text的值传到另一页面的text中,不全部刷新另一页面
- 求表格中一列的所有的数值相加的和的问题!!!特急!!求救!!!!
- 全选后,单击其中一个,全选按钮取消对钩
- javascript中修改src时产生的一个不良效果
每行给个和行数字有关的样式 比如 row1 row2这样的话 你可以方便定位所有的
<tr><td>aaa</td><td>bbb</td><td>ccc</td><td>ddd</td></tr>
</table>
<script>
var tb=document.getElementById('tb1');
function add(rowCount){
var rs=tb.rows,ii=0,cs=tb.rows[0].cells.length;
for(var i=0;i<rowCount;i++){
var r=tb.insertRow(-1);
for(var j=0;j<cs;j++){
r.insertCell(-1).appendChild( cEl('input',{type:'checkbox', i:ii,value:ii,id: 'ch'+ ii++ } ) );
}
}
}
function cEl(tag,attrs){
var el=document.createElement(tag);
for(var k in attrs) el[k]=attrs[k]
return el
}
add(10);//生成测试数据
/////////////////////////////////////////
function getP(el,td){
while( el&& el.tagName!= td.toUpperCase()) el= el.parentNode;
return el;
}var actCh,
chs=tb.getElementsByTagName('input');
tb.onclick=function(evt){
evt=window.event||evt;
var el=evt.srcElement||evt.target;
var ch=getP(el,'td').getElementsByTagName('input')[0]; if(actCh && evt.shiftKey ) selChs(ch)
actCh&&(actCh.parentNode.bgColor='#ffffff');
ch.parentNode.bgColor='#fafaff';
actCh=ch;}
function selChs(ch){
var cs=[actCh,ch].sort(function(a,b){ return a.i-b.i})
for(var i=cs[0].i;i<=cs[1].i;i++) chs[i].checked= !chs[i].checked;
}
</script>
function SelectRow(selectObj) {
var row = $(selectObj).parent().parent(); // 找到TR
var find = false;
$(row).find(":checkbox").each(function() {
if (find) {
$(this).prop("checked", true);
} else {
// 通过值比较找到当前的选中框,并选中当前行当前选中框之后的选中框
if ($(this).val() == $(selectObj).val()) {
find = true;
}
}
});
}
和checkbox 的ID没关系
<table id="tb1" width="100%" cellpadding="0" cellspacing="0" border="1">
<tr><td>aaa</td><td>bbb</td><td>ccc</td><td>ddd</td></tr>
</table>
<script>
var tb=document.getElementById('tb1');
function add(rowCount){
var rs=tb.rows,ii=0,cs=tb.rows[0].cells.length;
for(var i=0;i<rowCount;i++){
var r=tb.insertRow(-1);
for(var j=0;j<cs;j++){
r.insertCell(-1).appendChild( cEl('input',{type:'checkbox',value:ii,id: 'ch'+ ii++ } ) );
}
}
}
function cEl(tag,attrs){
var el=document.createElement(tag);
for(var k in attrs) el[k]=attrs[k]
return el
}
add(10);//生成测试数据
/////////////////////////////////////////
function getP(el,td){
while( el&& el.tagName!= td.toUpperCase()) el= el.parentNode;
return el;
}var actCh,
chs=tb.getElementsByTagName('input'),L=chs.length;
while(L--)chs[L].i=L;
tb.onclick=function(evt){
evt=window.event||evt;
var el=evt.srcElement||evt.target;
var ch=getP(el,'tr'); if(actCh && evt.shiftKey ) selChs(ch)
actCh&&(actCh.bgColor='#ffffff');
ch.bgColor='#eaeaff';
actCh=ch;}
function selChs(ch){
var rs=[actCh,ch].sort(function(a,b){ return a.rowIndex-b.rowIndex})
var idx=rs[0].getElementsByTagName('input')[0].i,
L=(rs[1].rowIndex-rs[0].rowIndex+1)*rs[0].cells.length;
while(L--) chs[L+idx].checked= !chs[L+idx].checked;
}
</script>
如果是在div里给定一个class是可以实现多选的。