怎样取得table中td里面全部input 的值,到td 中. 新提问

怎样取得table中td里面全部input 的值,到td 中. 新提问,第1张

这种方法和上次给你说的不一样,现在你不需要指定 input 和 td 的 id,只需要 table 有个 id 就可以。JS 会寻找 table 内所有的 input,然后赋值给 td。唯一要保证的是你的 table 结构要和例子中的保持一致。使用传统的 Javascript 确实很费时间,因为现在有各种 Javascript 框架,应用起来比较方便,省时。建议你在基本掌握 Javascript 后学习一下,推荐 jQuery。

<script type="text/javascript">

function assignValues() {

// 设置 table id

var table_id = 'st';

// 获取 table 元素

var table = documentgetElementById(table_id);

// 获取 table 内的全部 input

var textinputs = tablegetElementsByTagName('input');

// 循环

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

// 将 textinput 的值置于 textinput 上一级 td 节点的下一个同级 td 节点中

textinputs[i]parentNodenextSiblinginnerHTML = textinputs[i]value;

}

};

</script>

<table>

例子中你给出的table

</table>

<input type="button" value="赋值" onclick="assignValues();" />

(1)如果使用javascript *** 作,可以使用孩子节点方法,如下:

documentgetElementById("tableDiv")firstChild即可以获得该table元素;

(2)如果使用jquery库,则可以使用CSS选择器按标签来选择,如下:

$("#tableDiv table")

public void parse(){

String htmlStr = "<table id=kbtable >"

+ "<tr> "

+ "<td width=123>"

+ "<div id=12>这里是要获取的数据1</div>"

+ "<div id=13>这里是要获取的数据2</div>"

+ "</td>"

+ "<td width=123>"

+ "<div id=12>这里是要获取的数据3</div>"

+ "<div id=13>这里是要获取的数据4</div>"

+ "</td> "

+ "</tr>"

+ "</table>";

Document doc = Jsoupparse(htmlStr);

// 根据id获取table

Element table = docgetElementById("kbtable");

// 使用选择器选择该table内所有的<tr> <tr/>

Elements trs = tableselect("tr");

//遍历该表格内的所有的<tr> <tr/>

for (int i = 0; i < trssize(); ++i) {

// 获取一个tr

Element tr = trsget(i);

// 获取该行的所有td节点

Elements tds = trselect("td");

// 选择某一个td节点

for (int j = 0; j < tdssize(); ++j) {

Element td = tdsget(j);

// 获取td节点的所有div

Elements divs = tdselect("div");

// 选择一个div

for (int k = 0; k < divssize(); k++) {

Element div = divsget(k);

//获取文本信息

String text = divtext();

//输出到控制台

Systemoutprintln(text);

}

}

}

}

你可以使用 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

获取到当前滚动加载的el-table表格节点

注意的是 如果存在多个表格,用ref获取dom节点,需要指定为第一个,

并且是当前dom节点下的bodyWrapper元素,

然后给这个元素添加滚动事件

this$nextTick(function(){

var dom =this$refs[`personTable_${thatscrollTableId}`];

    var tableBodyEle = dom[0]bodyWrapper;

    tableBodyEleaddEventListener('scroll', thatonPersonScroll);

})

滚动加载的判断条件:

let inner = that$refs['personTable_'+thatscrollTableId][0]bodyWrapper;

let scrollTop = innerscrollTop,//当前元素区域的滚动条高度

// 变量windowHeight是可视区的高度

let windowHeight = innerclientHeight || innerclientHeight

// 变量scrollHeight是滚动条的总高度

let scrollHeight = innerscrollHeight || innerscrollHeight

if (scrollTop + windowHeight === scrollHeight) {//滚动条滚出的高度加上可视区高度 等于滚动条的总高度,则需要加载

    if (thatscrollPersonFlag) {

        //设置一个滚动加载的开关,默认为true

        //滚动一次变为false

        //滚动一次如果当前数据数量小于总数,要置为true;

        thatscrollPersonFlag =false

        var signatoryNo = thatscrollTableId;

        var pageSize =40;

        thatstartPersonRow +=40;

        thatloading =true;

        _getPersonSignatory({signatureId:thissignatureId,startRow:thatstartPersonRow,pageSize,signatoryNo})then(res=>{//请求数据的接口

        thatloading  =false;

        if(resdatasuccess){

                thatruleFormSignerpersonSignerListfrontendDataforEach(item=>{

                    if(itemsignatoryId == thatscrollTableId){

                        if(itemmemberListlength < resdataresulttotal){//如果当前滚动加载的盒子中的成员变量小于总数,则开关还是打开状态  否则是关闭状态

                            thatscrollPersonFlag =true;

                           }

                        }

                    })

            }

        })

        }

}

这个很简单啊

表结构一般如下tablename(表名)

id--节点ID, name-- 节点名称 parentid父节点ID,

-----获取节点号为6下的所有子节点

select from tablename t start with id =6 connect by prior id=parentid

以上就是关于怎样取得table中td里面全部input 的值,到td 中. 新提问全部的内容,包括:怎样取得table中td里面全部input 的值,到td 中. 新提问、用jquery定位div下的table、jsoup解析html的table中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存